我需要将产品显示在3列的列表中foreach。
foreach
这是我的代码:
<table> <c:forEach items="${lstProduct}" var="product" varStatus="status" step="3"> <tr> <td> <!--product of column left will be display here --> ${product.id} ${product.name} </td> <td> <!--product of column middle will be display here --> <!--I need something like this: productMiddle = product.getNext() --> </td> <td> <!--product of column right will be display here --> <!-- productRight = productMiddle.getNext() --> </td> </tr> </c:forEach> </table>
问题是如何获得列表中的下一个产品?
斯卡夫曼给出了很好的答案。另外,您也可以将<tr>循环放在外面,并</tr><tr>在适当的时候(即每3个项目)打印中间的。
<tr>
</tr><tr>
<table> <tr> <c:forEach items="${lstProduct}" var="product" varStatus="loop"> <c:if test="${not loop.first and loop.index % 3 == 0}"> </tr><tr> </c:if> <td> ${product.id} ${product.name} </td> </c:forEach> </tr> </table>