<c:forEach var="i" begin="1" end="10" step="1">
显示结果1-10<c:forEach var="i" begin="10" end="1" step="1">
无结果显示<c:forEach var="i" begin="10" end="1" step="-1">
会报错误,step应该是一个大于0的整数谁解决过该问题

解决方案 »

  1.   

    jstl是负责显示的 排序这种属于业务逻辑的内容 应该在后台完成 
      

  2.   

    谢谢knightzhuwei的回答,那么就是说JSTL本身没有这个解决方案是吗?在后台解决? 是指在后台创建一个LIST? 数组? 返回给页面?
      

  3.   

    那这句:
    <c:forEach var="i" begin="1" end="10" step="1"> 是不是也没意义了,1-10也放后台处理呢?我还是觉得1-10,10-1都应该是页面的显示逻辑
      

  4.   

    knightzhuwei咱们继续聊吧,顺便就顶帖了:)我知道你说的意思,也觉得你说的有一定道理,只是10-1这样的显示逻辑页面应该能处理
      

  5.   

    <c:forEach var="i" begin="1" end="10" step="1"> 
    循环还是用这个做,打印的话打印  11-i
      

  6.   

    sjkof有启发 :)那么如果是长度不确定呢,比如说
    从1990年到当前年的倒序列
    2009、2008、2007……1990
      

  7.   

    <c:forEach var="i" begin="10" end="1" step="10" varStatus="status"> 
    ${status.index}
    </c:forEach>
      

  8.   

    jstl不提供排序功能,begin 是开始  end 是结束  step是每次增加的量
    如果要排序可以再后台的list中排序。
    如果需要按照某个特定的字段排序
    1.可以使用数据库的SQL查询
    2.可以实现类Compleable  的CompleTo方法
      

  9.   

    ruisheng_412 那么如果是长度不确定呢,比如说 
    从1990年到当前年的倒序列 
    2009、2008、2007……1990
      

  10.   

    c:forEach 如果你要是循环一个list的话 没的说 肯定要放在后台 像楼主这种自定义的变量 自己变通一下 就搞定了 五楼的应该可以满足lz的要求
      

  11.   

    用<c:set var>定义变量 然后用<c:forEach> 把循环变量加到当前变量的前面 ,循环结束后 再将此变量输出  即可达到逆序
      

  12.   

    <c:set var="num" value=""/>
    <c:forEach var="i" begin="10" end="1" step="10" varStatus="status"> 
    <c:set var = "num" value=${status.index+num}/>
    </c:forEach>
    <c:out value="${num}"/>
    试一下这种形式