从JSP到Servlet检索数组中的特定值

时间:2014-12-03 00:51:34

标签: java arrays jsp servlets jstl

此代码使用存储在会话中的字符串数组创建表。 然后,我在每行的末尾都有一个提交按钮,单击该按钮时应存储到达行的库存号(放在每行的第0列)并将其发送到servlet。该表格正确显示,但我无法检索每个行的Stock#列。 我哪里出错了?

 <table>  
  <tr>  

      <th>Stock#</th>  <th>Name</th>  <th>Price</th>  <th>Description</th>  

  </tr>  
  <c:forEach items="${BooksTable}" begin="0" var="row">  
    <tr>  
      <c:forEach items="${row}" var="cell"> 

        <td>${cell} <BR>  <BR>  </td>  
      </c:forEach>  
      <c:set value="${$row.count}" scope="session" var="itemID" />
       <td><FORM ACTION="CartAccess">

         <INPUT TYPE ="HIDDEN" NAME="item" VALUE="${BooksTable[1][0]}">

        <INPUT TYPE="SUBMIT" NAME="check" VALUE="Add"> </FORM></td>   
    </tr>  
  </c:forEach>  
</table>  

1 个答案:

答案 0 :(得分:1)

您可以添加测试以检查index == 0是否为c:set变量stockValue,然后使用它来创建隐藏字段。

   <c:forEach items="${BooksTable}" begin="0" var="row">  
    <tr>  
      <c:forEach items="${row}" var="cell" varStatus="rowIndex"> 

        <c:if test="${rowIndex.index == 0}" >
           <c:set var="stockValue" value="${cell}" scope="page" />
       </c:if>

        <td>${cell} <BR>  <BR>  </td>  
      </c:forEach>  

      <c:set value="${$row.count}" scope="session" var="itemID" />
       <td><FORM ACTION="CartAccess">
         <INPUT TYPE ="HIDDEN" NAME="item" VALUE="${stockValue}">
        <INPUT TYPE="SUBMIT" NAME="check" VALUE="Add"> </FORM></td>   
    </tr>  
  </c:forEach>