JSTL foreach - 如何从最后到第一个循环

时间:2014-12-16 11:01:28

标签: java jsp loops foreach jstl

<c:set var="eventsLastIndex" value="${events.size() - 1}" />
<c:forEach items="${events}" var="event"
        begin="${eventsLastIndex}" end="0" step="-1">
    ...
</c:forEach>

此代码抛出异常:javax.servlet.jsp.JspTagException:&#39; step&#39; &lt; = 0

但是,如何从最后一个元素迭代?

2 个答案:

答案 0 :(得分:1)

this question;

中所述

你可以像这样使用sthg;

<c:forEach var="i" begin="0" end="10" step="1" varStatus="loop">
    ... ${loop.end - i + loop.begin} ...
</c:forEach>

你必须像往常一样写foreach,并且在获得价值时你必须得到减量。

答案 1 :(得分:0)

步骤 - 循环增量变量,默认为1。

Step是一个int值,只接受正值,而不是必须给出的必填字段,默认值为1.

<c:forEach items="${myCollection}" var="myColl"  step="2">
    Every alternate object: ${myColl.name}
</c:forEach>

上面的示例显示了集合中的每个替代学校(即1,3,5,7等)。