我有以下问题(jstl新手),需要在电子商店中创建4列产品,但是不知道如何手动迭代数组,获得此代码重复每行的产品:< / p>
<c:forEach items="${productCollection}" var="product">
<tr>
<c:forEach var="i" begin="1" end="4">
<td>
<a href="productDetail.htm"><img width="90" alt="${product.productName}" src="${product.productImage}"/></a>
<a href="productDetail.htm"><c:out value="${product.productName}" /></a>
</td>
</c:forEach>
</tr>
</c:forEach>
我需要在第二个循环上手动移动productColeection arrayList。我希望我能用Java Iterator做一些事情:
<c:forEach items="${productCollection}" var="product">
<tr>
<c:forEach var="i" begin="1" end="4">
<td>
<a href="productDetail.htm"><img width="90" alt="${**Iterator.next().**product.productName}" src="${product.productImage}"/></a>
<a href="productDetail.htm"><c:out value="${**Iterator.next().**product.productName}" /></a>
</td>
</c:forEach>
</tr>
</c:forEach>
我很抱歉,如果它是一个愚蠢的问题,任何帮助将不胜感激!感谢
答案 0 :(得分:3)
假设您每列需要4个产品,然后想要包装到下一行(如果有超过4个产品),则可以使用varStatus:
<tr>
<c:forEach items="${productCollection}" var="product" varStatus="status">
<c:if test="${status.index % 4 == 0 && !status.first && !status.last}">
</tr>
<tr>
</c:if>
<td>
<a href="productDetail.htm"><img width="90" alt="${product.productName}" src="${product.productImage}"/></a>
<a href="productDetail.htm"><c:out value="${product.productName}" /></a>
</td>
</c:forEach>
</tr>