JSTL foreach:获取Next对象

时间:2011-05-04 14:03:41

标签: jsp jstl

我需要将列表中的产品显示为3列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>

问题是如何在列表中获得下一个产品?

1 个答案:

答案 0 :(得分:16)

Skaffman给出了一个很好的答案。作为替代方案,您也可以将<tr>放在循环外部并在适当的时刻打印中间</tr><tr>(即每隔3个项目)。

<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>