c:forEach,在地图jsp上以相反的顺序迭代

时间:2015-09-21 23:06:35

标签: jsp jstl

是否可以从"另一端"制作一个forEach?一张地图? 我有一个servlet将xml数据放入一个地图中,以便在jsp中显示它。但我需要以相反的顺序显示它,因为我希望插入到xml文件中的最新数据是我页面上显示的第一个数据。

<c:forEach var="type" items="${fetchAllWorks.allWorks}">

${type.value.subject}

</c:url>">

1 个答案:

答案 0 :(得分:0)

首先,您的Map是否保留了条目的插入顺序?因为最常用的Map实施 - HashMap - 没有。

其次,如果确实如此,您需要通过调用Collection方法来反转从Map获得的values()值(为了简洁起见,我和# 39;在这里使用scriptlet,你不应该:

// 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>