【问题标题】:Retrieving a specific value in an array from JSP to Servlet从 JSP 到 Servlet 检索数组中的特定值
【发布时间】:2015-01-31 10:20:24
【问题描述】:

此代码从存储在会话中的字符串数组创建一个表。 然后,我在每行的末尾有一个提交按钮,单击该按钮应存储到达行的库存编号(放置在每行的第 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>  

【问题讨论】:

  • 什么是BooksTable?您是否进行了调试以确定 Stock # 的值确实存在?另外,你想用&lt;c:set value="${$row.count}" scope="session" var="itemID" /&gt;做什么?

标签: java arrays jsp servlets jstl


【解决方案1】:

您可以添加一个测试来检查 If 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> 

【讨论】:

    猜你喜欢
    • 2012-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-27
    • 2021-06-30
    相关资源
    最近更新 更多