2011-06-13 38 views
2

我有一個表,其中一列是按鈕,當我點擊按鈕時,如何將$ {user.key}發送到servlet?從表中的按鈕調用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> 

回答

4

有兩種方法。

  1. 把它作爲按鈕值(和使用的<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"); 
    // ... 
    

  2. 或者,將每個按鈕以其自己的形式與作爲隱藏領域的關鍵。

    <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"); 
    // ... 
    
2

使它成爲一個隱藏字段

<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"/> 
       <input type="hidden" name"key" value="${user.key}"/> 
      </td> 
     </tr> 
</c:forEach> 
</form> 

而且在你的servlet使用String[] keys = request.getParameterValues("key");讀它的一部分。你會得到所有的鑰匙。

+0

你怎麼會知道你想禁用特定用戶? – BalusC 2011-06-13 20:38:09