Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSTL c:forEach,递减数循环不可能?_Java_Jsp_Foreach_Jstl - Fatal编程技术网

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

Java JSTL c:forEach,递减数循环不可能?,java,jsp,foreach,jstl,Java,Jsp,Foreach,Jstl,我想打印递减数,如: <c:forEach var="i" begin="10" end="0" step="-1"> ... ${i} ... </c:forEach> ... ${i} 。。。 然后我得到了jsp异常: javax.servlet.jsp.JspTagException: 'step' <= 0 javax.servlet.jsp.jstl.core.LoopTagSupport.validateStep(LoopTagSu

我想打印递减数,如:

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

... ${i} 。。。
然后我得到了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)
    ....

javax.servlet.jsp.JspTagException:'step'我不确定另一个问题的回答者是如何让它工作的,但我不能让它在这里与参考JSTL实现一起工作

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

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

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

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

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

请注意,
step
也被省略,因为它的默认值是
1

对,规范说明:如果指定,step必须>=1,那么其他问题实际上是关于如何向后循环集合的。我更正了我的答案,所以其他部分也是正确的。你没什么问题。我的回答有误。
<c:forEach begin="0" end="10" varStatus="loop">
  ${loop.end - loop.count + 1}
</c:forEach>