我有JSP文件,在其中创建了Java类SeznamPolozek的实例。 SeznamPolozek被封装为HashSet。之后,我从SeznamPolozek打印每个条目。运行正常。但是:我想在每行按钮上都单击Remove,它调用SeznamPolozek的方法并删除行上的元素。但是我不能让它工作。请帮忙。

<%@page import="java.util.Iterator"%>
<%@page import="model.Polozka"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import ="model.SeznamPolozek" %>
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
</head>
<body>


    <table border="1">
        <thead>
            <tr>
                <th>ID</th>
                <th>Cena</th>
                <th>Rozměr x</th>
                <th>Rozměr y</th>
                <th>Rozměr z</th>
                <th>Název</th>
                <th>Popis</th>
                <th>Adresát</th>
                <th>Stav objednávky</th>
                <th>Vymazat</th>
            </tr>
        </thead>
        <tbody>
             <tr>
                 <%
        SeznamPolozek seznam = new SeznamPolozek();
        Iterator<Polozka> it = seznam.iterator();
        session.setAttribute("it", it);
       for(Polozka polozka:seznam){
       out.print("<td>"+polozka.getId()+"</td>");
       out.print("<td>"+polozka.getCena()+"</td>");
       out.print("<td>"+polozka.getX()+"</td>");
       out.print("<td>"+polozka.getY()+"</td>");
       out.print("<td>"+polozka.getZ()+"</td>");
       out.print("<td>"+polozka.getNazev()+"</td>");
       out.print("<td>"+polozka.getPopis()+"</td>");
       out.print("<td>"+polozka.getAdresat()+"</td>");
       out.print("<td>"+polozka.getStavObjednavky()+"</td>");
       out.print("<td><input type = \"submit\" value = \"a\" name = \"b\"  onclick=\""+seznam.odeberPolozku(polozka.getId())+"\" /></td>");
       }

    %>
     </tr>

            <c:forEach items="${it}" var="item">
                <tr>
                    <td>${item.id}</td>
                    <td>${item.cena}</td>
                    <td>${item.x}</td>
                    <td>${item.y}</td>
                    <td>${item.z}</td>
                    <td>${item.nazev}</td>
                    <td>${item.popis}</td>
                    <td>${item.adresat}</td>
                    <td>${item.stavObjednavky}</td>
                    <td><input type="submit" value="a" name="b" onclick="<%=seznam.odeberPolozku(4)%>"/></td>
                </tr>
            </c:forEach>

        </tbody>
    </table>


</body>

最佳答案

您可以尝试使用javascript代替,并实现对相关方法的ajax调用,以删除“ element”。像jquery这样的库也将帮助您修改dom并显示所需的效果。

08-17 01:52