【问题标题】:JSTL foreach - how to loop from last to first [duplicate]JSTL foreach - 如何从最后一个循环到第一个[重复]
【发布时间】:2014-12-16 11:01:27
【问题描述】:
<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: 'step'
但是,如何从最后一个元素迭代?
【问题讨论】:
标签:
java
jsp
loops
foreach
jstl
【解决方案1】:
如this question中指定;
你可以这样使用 sthg;
<c:forEach var="i" begin="0" end="10" step="1" varStatus="loop">
... ${loop.end - i + loop.begin} ...
</c:forEach>
你必须像往常一样写foreach,在获得价值的同时你必须递减。
【解决方案2】:
step - 循环增量变量,默认为 1。
Step 是一个 int 值,只接受正值,不是必填字段,默认值为 1。
<c:forEach items="${myCollection}" var="myColl" step="2">
Every alternate object: ${myColl.name}
</c:forEach>
以上示例显示了集合中的每个备用学校(即 1、3、5、7 等)。