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

我想打印递减数字,如:

 ... ${i} ...  

然后我得到了jspexception:

 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实现。

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

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

或者如果您想避免重复10

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

一种可能的解决方案,不使用var属性:

  ${loop.end - loop.count + 1}  

请注意, step也省略,因为其默认值为1