java - JSTL forEach 逆序

标签 java jsp jstl

使用JSTL的forEach标签,是否可以逆序迭代?

最佳答案

当您使用 forEach 时要创建一个整数循环,您可以前进或后退,但这需要一些工作。事实证明你不能这样做,例如:

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

因为规范要求步骤是肯定的。但是您总是可以按正序循环,然后使用 <c:var将递增数转换为递减数:

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

但是,当您执行 forEach在任何类型的集合中,我不知道有任何方法可以让对象以相反的顺序排列。至少,首先将元素排序为相反的顺序,然后然后使用forEach .

我已成功导航到 forEach通过在 JSP 中执行以下操作以所需的顺序循环:

<%
List list = (List)session.getAttribute("list");
Comparator comp = ....
Collections.sort(list, comp);
%>


<c:forEach var="bean" items="<%=list%>">
     ...
</c:forEach>

使用合适的比较器,您可以按任何所需的顺序遍历项目。这行得通。但我不知道有一种方法可以说,很简单,以相反的顺序迭代提供的集合。

关于java - JSTL forEach 逆序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/712046/

相关文章:

java - xmlbeans 自动将生成的源文件和 xsb 文件中的类名大写

java - 如何在 Java 中清除控制台?

java - 由 : java.net.NoRouteToHostException: No route to host 引起

java - 如何使用 apache poi 在 docx 文件中设置普通标题?

java - RESTLET从HTML页面获取参数

java - 如何在 NetBeans servlet/jsp 元素中使用 html 和/或 css 样式?

java - org.springframework.beans.factory.CannotLoadBeanClassException : Cannot find class [com. Dao.ApplicationDaoImpl] 对于名称为'的bean

java - 根据 TLD 或标签文件中的属性指令,属性动词不接受任何表达式

java - 通过我的应用程序 JSP 中嵌入的 URL 访问 Jasper Server 上的报告

java - JSTL - 使用 forEach 迭代用户定义的类