只返回一个第一个值的JSP复选框
我正在学习Jsp和servlet。在我的jsp中,我正在返回一个员工表,我试图通过用户ID从复选框中删除多行。当我运行servlet时,我得到了一个满表的雇员,但通过复选框,我只能删除第一个雇员(第一行),每隔一行返回null。。。 我认为每一行都在创建一个新的复选框,因此名称不是唯一的,它只是传递第一个参数只返回一个第一个值的JSP复选框,jsp,servlets,checkbox,Jsp,Servlets,Checkbox,我正在学习Jsp和servlet。在我的jsp中,我正在返回一个员工表,我试图通过用户ID从复选框中删除多行。当我运行servlet时,我得到了一个满表的雇员,但通过复选框,我只能删除第一个雇员(第一行),每隔一行返回null。。。 我认为每一行都在创建一个新的复选框,因此名称不是唯一的,它只是传递第一个参数 <div class ="removeBtn"> <!-- remove button for multiple delete --> <input
<div class ="removeBtn"> <!-- remove button for multiple delete -->
<input type="submit" value="Remove selected" form="multipleDeleteRowsId">
</div>
<table class="employeeInfoTable" >
<tr>
<th></th>
<th>First Name</th>
<th>Second Name</th>
<th>Last Name</th>
<th>Date of Join</th>
<th>Branch</th>
<th>Action</th>
</tr>
<c:forEach var="tempUser" items="${employeesList}">
<c:url var="idLink" value="EmployeeControllerServlet">
<c:param name="command" value="LOAD"/>
<c:param name="employeeID" value="${tempUser.id}"/>
</c:url>
<c:url var="removeLink" value="EmployeeControllerServlet">
<c:param name="command" value="DELETE"/>
<c:param name="deleteByID" value="${tempUser.id}"/>
</c:url>
<tr>
<td>
<form action="EmployeeControllerServlet" method="get" id="multipleDeleteRowsId" > <!-- here is multiple delete -->
<input type="hidden" name="command" value="DELETE">
<input type="checkbox" name="selectedRow" value="${tempUser.id}">${tempUser.id}
</form>
</td>
<td>${tempUser.firstName}
</td>
<td>${tempUser.surname}
</td>
<td>${tempUser.lastName}
</td>
<td>${tempUser.dateOfJoin}
</td>
<td>${tempUser.branch}
</td>
<td>
<ul id="menu">
<li><a href="#">Edit</a>
<ul>
<li><a href="#"><a href="${idLink}">More Info</a></a></li>
<li><a href="#"><a href="${removeLink}"
onclick="return confirm( 'Are you sure you want to delete?')">Remove</a></a>
</li>
</ul>
</li>
</ul>
</td>
</tr>
</c:forEach>
</table>
名字
第二个名字
姓
加入日期
分支机构
行动
${tempUser.id}
${tempUser.firstName}
${tempUser.name}
${tempUser.lastName}
${tempUser.dateOfJoin}
${tempUser.branch}
-
-
这里是servlet
private void deleteUser(HttpServletRequest request, HttpServletResponse response) throws Exception {
try {
String[] selected = request.getParameterValues("selectedRow");
for(int i = 0; i<selected.length; i++){
System.out.println(" " + selected[i] + " ");
}
} catch (Exception e) {
System.out.println("not deleted ? " + e.getCause());
}
}
private void deleteUser(HttpServletRequest请求,HttpServletResponse响应)引发异常{
试一试{
String[]selected=request.getParameterValues(“selectedRow”);
对于(int i=0;问题是您每行有一个
,因此,在提交时,将提交一个带有一个值的表单。您实际需要的是一个包装整个表的表单。感谢您的回复,我已经按照您所说的解决了,现在一切正常。