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