我试图以相反的顺序迭代每个循环但不能成功

时间:2013-07-08 09:11:17

标签: java jsp for-loop jsp-tags

我正在尝试为jsp上的每个循环迭代一个集合。我的要求是我想以相反的顺序迭代for循环。请参考以下代码以供参考:

工作代码:从头到尾迭代工作正常:

<c:forEach items="${field.values}" var="value" varStatus="statusInner">
    ${value.value}
   </c:forEach>

试图以相反的顺序迭代:

<c:forEach items="${field.values}" var="value" begin="${fn:length(field.values)}"end="0"  varStatus="statusInner">
    ${value.value}
   </c:forEach>

任何人都可以帮我解决我的问题。 在此先感谢。

2 个答案:

答案 0 :(得分:3)

尝试此操作(访问反向而不是反向迭代):

<c:set var="fieldLength" value="${fn:length(field.values)}"/>
<c:forEach items="${field.values}" varStatus="status">
  ${field.values[fieldLength - status.count]}
</c:forEach>

答案 1 :(得分:1)

指定步长-1,以便减少索引。如果不指定递减步骤,则每次迭代的索引都会增加。

<c:forEach items="${field.values}" var="value" 
     begin="${fn:length(field.values)" end="0"  
          varStatus="statusInner" step="-1">
    ${value}
   </c:forEach>