c: forEach,在map上逆序迭代jsp
c: forEach, iterate in reverse order on map jsp
是否可以从地图的 "other end" 创建一个 forEach?
我有一个 servlet,可以将 xml 数据放入地图中,并在 jsp 中显示。但我需要它以相反的顺序显示,因为我希望插入 xml 文件的最新数据首先显示在我的页面上。
<c:forEach var="type" items="${fetchAllWorks.allWorks}">
${type.value.subject}
</c:url>">
首先,您的 Map
是否保持条目的插入顺序?因为最常用的 Map
实现 - HashMap
- 没有。
其次,如果是这样,您需要通过调用 values()
方法来反转从 Map
获得的 Collection
值(为简洁起见,我将使用小脚本在这里,你不应该):
// add import directives for the List, ArrayList and Collections - all from the java.util package
<%
List<YourType> values = new ArrayList<>(yourMap.values());
Collections.reverse(values);
%>
<c:forEach var="type" items="${values}">
${type.subject}
</c:forEach>
是否可以从地图的 "other end" 创建一个 forEach? 我有一个 servlet,可以将 xml 数据放入地图中,并在 jsp 中显示。但我需要它以相反的顺序显示,因为我希望插入 xml 文件的最新数据首先显示在我的页面上。
<c:forEach var="type" items="${fetchAllWorks.allWorks}">
${type.value.subject}
</c:url>">
首先,您的 Map
是否保持条目的插入顺序?因为最常用的 Map
实现 - HashMap
- 没有。
其次,如果是这样,您需要通过调用 values()
方法来反转从 Map
获得的 Collection
值(为简洁起见,我将使用小脚本在这里,你不应该):
// add import directives for the List, ArrayList and Collections - all from the java.util package
<%
List<YourType> values = new ArrayList<>(yourMap.values());
Collections.reverse(values);
%>
<c:forEach var="type" items="${values}">
${type.subject}
</c:forEach>