我有一个表,其中一栏是按钮,单击按钮后如何将$ {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");
// ...

09-10 08:52
查看更多