JSTL c:forEach,递减数循环不可能吗?

我想打印递减数字,例如:

<c:forEach var="i" begin="10" end="0" step="-1">

... ${i} ...

</c:forEach>

然后我得到了jsp异常:

javax.servlet.jsp.JspTagException: 'step' <= 0

javax.servlet.jsp.jstl.core.LoopTagSupport.validateStep(LoopTagSupport.java:459)

org.apache.taglibs.standard.tag.rt.core.ForEachTag.setStep(ForEachTag.java:60)

....

但是这个答案说有可能以两种方式循环:

JSTL forEach逆序

我怎么了

回答:

我不确定其他问题的回答者如何使其起作用,但是我无法在参考JSTL实现中使其起作用。

无论如何,您可以通过以下方法达到要求:

<c:forEach var="i" begin="0" end="10" step="1">

... ${10 - i} ...

</c:forEach>

或者,如果您想避免重复10

<c:forEach var="i" begin="0" end="10" step="1" varStatus="loop">

... ${loop.end - i + loop.begin} ...

</c:forEach>

以上是 JSTL c:forEach,递减数循环不可能吗? 的全部内容, 来源链接: utcz.com/qa/420107.html

回到顶部