我有一个表,其中一列是按钮,当我单击按钮时如何将 ${user.key} 发送到 servlet?
<form action="InstitutionManagementServlet" method="post" >
<c:forEach items="${requestScope.AllUsers}" var="user" varStatus="loop">
<tr>
<td class="numberWidth">${loop.index + 1}</td>
<td class="nameWidth" id="${user.key}">${user.value}</td>
<td><input type="submit" name="Deactivate" value="Deactivate"/></td>
</tr>
</c:forEach>
</form>
最佳答案
有两种方法可以实现此目的。
将其作为按钮值传递(并使用
<button>
而不是<input>
,以便您可以给它一个标签)<form action="InstitutionManagementServlet" method="post"> <c:forEach items="${requestScope.AllUsers}" var="user" varStatus="loop"> <tr> <td class="numberWidth">${loop.index + 1}</td> <td class="nameWidth" id="${user.key}">${user.value}</td> <td><button type="submit" name="Deactivate" value="${user.key}">Deactivate</button></td> </tr> </c:forEach> </form>
与
String key = request.getParameter("Deactivate"); // ...
或者,将每个按钮放入其自己的表单中,并将键作为隐藏字段。
<c:forEach items="${requestScope.AllUsers}" var="user" varStatus="loop"> <tr> <td class="numberWidth">${loop.index + 1}</td> <td class="nameWidth" id="${user.key}">${user.value}</td> <td> <form action="InstitutionManagementServlet" method="post"> <input type="submit" name="Deactivate" value="Deactivate" /> <input type="hidden" name="key" value="${user.key}" /> </form> </td> </tr> </c:forEach>
与
String key = request.getParameter("key"); // ...
关于java - 从表中的按钮调用 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6335419/