我有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并显示所需的效果。