Dodanie obsługi zdarzenia do tabeli

Dodanie obsługi zdarzenia do tabeli
Paweł Ada
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 52
0

Cześć.
Na wstępie jestem zielony w Jave EE i dopiero się uczę ale czas mnie goni i dlatego postawiłem utworzyć ten temat. Szukałem już rozwiązania tego problemu ale bez skutecznie.

A Problem jest następujący mam tabelkę zbudowana w JSP .

Kopiuj
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>  
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>Zalogowano sie : 
            <%
                String Login = request.getAttribute("NameUser").toString();
                out.print(Login);
            %>
        </h1>
        <sql:setDataSource
            var="myDS"
            driver="com.mysql.jdbc.Driver"
            url="jdbc:mysql://db4free.net:3306/nameBase2020"
            user="user1111" password="T5rvm"
            />

        <sql:query var="listUsers"   dataSource="${myDS}">
            SELECT `Id`,`Login`,`Password`,`FirstName` FROM `Users`;
        </sql:query>

        <div align="center">
            <table border="1" cellpadding="5">
                <caption><h2>List of users</h2></caption>
                <tr>
                    <th>ID</th>
                    <th>Login</th>
                    <th>Password</th>
                    <th>First Name</th>
                </tr>
                <c:forEach var="Users" items="${listUsers.rows}">
                    <tr>
                        <td><c:out value="${Users.Id}" /></td>
                        <td><c:out value="${Users.Login}" /></td>
                        <td><c:out value="${Users.Password}" /></td>
                        <td><c:out value="${Users.FirstName}" /></td>
                    </tr>
                </c:forEach>
            </table>
        </div>
    </body>
</html>

I jak dodać do tego kod możliwość obsługi event , czyli jak dodać możliwość kliknięcia w pozycje w tabeli i obsługę tego kliknięcia.
Za wszelka pomoc dziękuje ,zdaje tego sprawę ze problem jest blachy ale czas mię goni a w internecie nie znalazłem pomocnego materiału

AK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3561
1
  1. Studiujesz archeologię? Toż nawet Indie z JSP wychodzą. A tu używasz najbardziej fatalnego stylu JSP, jaki moze być.

  2. musisz w wierszu mieć link. I dalej idą dwie opcje:
    a) kliknięcie przemieszcza do nowej strony, gdzie jest stosowna akcja (czysto server side)
    b) kliknięcie obsługiwane przez JavaScript. Elegantsze, ale więcej do nauki. Jakby ewentualnie był opanowany JavaScript, to można chwytać kliknięcie nie tylko w link, ale i inne elementy

TS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 394
1

Do tr bym dopisał <tr class="row" data-id="${Users.Id}>

I do tego JS:

Kopiuj
for (var element of document.querySelectorAll('.row')) {
  element.addEventListener('click', function (event) {
    console.log('Kliknąłeś ' + event.target.dataset.id);
  }
}

Z głowy pisane, mogą być błędy.

K5
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1005
1
Paweł Ada napisał(a):

A Problem jest następujący mam tabelkę zbudowana w JSP .

Ciężko zliczyć, która z kolei jesteś osobą mająca problemy u podstaw tylko przez to, że wybrały się na przygodę z JSP.
Porzuć to jak najszybciej. Ogarnij budowę zwykłego REST API, które możesz testować POSTMANem, a dopiero potem baw się frontem - tylko pamiętaj aby wziąć coś przyjaznego ludzkości, żadne JSP.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.