jsp 页面中的 Foreach 循环 - 结束和继续列表
Foreach loop in a jsp page - Ending and Continuing a List
我只是想知道如何结束特定列中的项目列表并在单独的列中继续剩余的项目。例如:在第一列中,有值为 "item1"、"item2"、"item3" 的行,在作为延续的第二列中,有值为 "item4"、 "item5", "item6".
实际上,我想要连续有 4 列,每列有 5 个项目。我如何在 jsp 页面中使用 foreach 循环将其应用于下面的代码?
<table>
<c:forEach items="${itemList}" var="item">
<tr>
<td><input type ="submit" class="Items btnColor"
value="${item.itemName}" label ="${item.itemId}" />
</td>
</tr>
</c:forEach>
</table>
请帮忙,非常感谢!
您可以使用 varStatus
变量来确定循环的索引并使用 if 条件跳过该迭代,例如:
假设您的 table 有 5 列,您必须跳过第 3 列然后
<c:set value="2" var="firstIndex" /> // this is the columnIndex which is not required
<c:set value="5" var="splitColumn" /> // thi is the total length of arraylist
<table>
<c:forEach items="${itemList}" var="item" varStatus="itemLoop">
<c:if test="${not (itemLoop.count eq firstIndex)}"> // this condition will skip the third column elements indexes from your arraylist.
<c:set value="${firstVal+5}" var="firstIndex" /> // this is increment in you arraylist index for all values ocurring at 3rd column
<c:if test="${(itemLoop.count eq splitColumn)}"> // this condition will create a row element after every 5 elements read from array list.
<tr>
</c:if>
<td><input type ="submit" class="Items btnColor"
value="${item.itemName}" label ="${item.itemId}" />
</td>
<c:if test="${(itemLoop.count eq splitColumn)}"> // increment for the no of rows to split after very 5 elements
<c:set value=${splitColumn+5} var="splitColumn" />
</tr>
<c:if/>
</c:if>
</c:forEach>
</table>
我只是想知道如何结束特定列中的项目列表并在单独的列中继续剩余的项目。例如:在第一列中,有值为 "item1"、"item2"、"item3" 的行,在作为延续的第二列中,有值为 "item4"、 "item5", "item6".
实际上,我想要连续有 4 列,每列有 5 个项目。我如何在 jsp 页面中使用 foreach 循环将其应用于下面的代码?
<table>
<c:forEach items="${itemList}" var="item">
<tr>
<td><input type ="submit" class="Items btnColor"
value="${item.itemName}" label ="${item.itemId}" />
</td>
</tr>
</c:forEach>
</table>
请帮忙,非常感谢!
您可以使用 varStatus
变量来确定循环的索引并使用 if 条件跳过该迭代,例如:
假设您的 table 有 5 列,您必须跳过第 3 列然后
<c:set value="2" var="firstIndex" /> // this is the columnIndex which is not required
<c:set value="5" var="splitColumn" /> // thi is the total length of arraylist
<table>
<c:forEach items="${itemList}" var="item" varStatus="itemLoop">
<c:if test="${not (itemLoop.count eq firstIndex)}"> // this condition will skip the third column elements indexes from your arraylist.
<c:set value="${firstVal+5}" var="firstIndex" /> // this is increment in you arraylist index for all values ocurring at 3rd column
<c:if test="${(itemLoop.count eq splitColumn)}"> // this condition will create a row element after every 5 elements read from array list.
<tr>
</c:if>
<td><input type ="submit" class="Items btnColor"
value="${item.itemName}" label ="${item.itemId}" />
</td>
<c:if test="${(itemLoop.count eq splitColumn)}"> // increment for the no of rows to split after very 5 elements
<c:set value=${splitColumn+5} var="splitColumn" />
</tr>
<c:if/>
</c:if>
</c:forEach>
</table>