这里是我的代码 - 这是使用提供的属性(候选人)的JSP文件:JSP - 巴顿在ForEach循环中的每个条目
<% ArrayList<Candidate> candidates = (ArrayList<Candidate>) request.getAttribute("candidates"); %>
<% for (int i = 0; i<candidates.size(); i++) { %>
<table>
<tr>
<td><b>Imię</b></td>
<td> <%= candidates.get(i).getFirstName() %></td>
</tr>
<tr>
<td><b>Nazwisko</b></td>
<td> <%= candidates.get(i).getLastName() %>
</td>
</tr>
<tr>
<td><b>PESEL</b></td>
<td> <%= candidates.get(i).getPESEL() %>
</td>
</tr>
<tr>
<td><b>Płeć</b></td>
<td><%= candidates.get(i).getSex() %>
</td>
</tr>
<tr>
<td><b>Miasto</b></td>
<td><%= candidates.get(i).getCity() %>
</td>
</tr>
<tr>
<td><b>Adres</b></td>
<td><%= candidates.get(i).getAddress() %>
</td>
</tr>
<tr>
<td><b>Numer kontaktowy</b></td>
<td><%=candidates.get(i).getContactNumber() %>
</td>
</tr>
<tr>
<td><b>Adres e-mail</b></td>
<td><%= candidates.get(i).getEmailAddress() %>
</td>
</tr>
<tr>
<td><b>Umiejętności</b></td>
<td><%= candidates.get(i).getExperiences() %>
</td>
</tr>
</table>
<br>
<form action="JobOfferServlet" method="post">
<% Integer id = candidates.get(i).getId(); %>
<input type="hidden" name="candidateId" value="<%= id%>">
<button type="submit" name="option" value="listMatching">Znajdz oferty pracy dla
<%= candidates.get(i).getFirstName()%> <%= candidates.get(i).getLastName()%></button>
<br><br>
<% } %>
我试图在这里做:我想 显示每从候选人候选人ArrayList中另外 - 为每个条目添加指定按钮,这些按钮将转发候选人ID以及指定Servlet类中所需结果的选项参数。
问题是,无论点击哪个按钮,发送ID始终为1 - 即使每个候选人都正确地打印在浏览器中,即使在按钮的标签上,也会为列表中的第一个候选人执行操作...
首先,我尝试使用ForEach JSP循环,当使用基本For循环但效果相同时 - 总是使用第一个候选。
我该如何让它工作?
我在循环中看不到表格结束标记()。你有吗?因为这样,只有一种形式被创建。 –
@GurkanYesilyurt OMG。我不能相信我错过了这一点。你说得对,我忘记了表格结束标记。我可能会在重构该类之后意外删除它,并将它归咎于愚蠢的JSP脚本语句中......原来我是那个愚蠢的人。感谢队友,我真的很感激它,因为我被困在这个问题2晚。 –
不客气。如果您将我的答案标记为已接受,我会很高兴。 –