Java JSTL foreach-带有特定字段的排序列表

Java JSTL foreach-带有特定字段的排序列表,java,jsp,jstl,Java,Jsp,Jstl,我在下面显示3个字段userid、value和upadtetime,我想按UPDATE.TIME按desc顺序排序。请建议如何做到这一点 <c:forEach var="comment" items="${document['kcmeta/comment']}"> <g2:out value="${mm:MasterValue('datamodel_userInfo',comment.USER_ID)}"/> <c:out value="${comment.VA

我在下面显示3个字段userid、value和upadtetime,我想按UPDATE.TIME按desc顺序排序。请建议如何做到这一点

<c:forEach var="comment" items="${document['kcmeta/comment']}">

<g2:out value="${mm:MasterValue('datamodel_userInfo',comment.USER_ID)}"/>

<c:out value="${comment.VALUE}" />

<span class="searhResultLightGrayText"><c:out value="${comment.UPDATE_DATE}" /></span>          
</c:forEach>

使用
c:forEach
JSTL标记无法对任何类型的集合进行排序,但是您可以使用Scriplets处理此问题,并将JAVA代码嵌入JSP

<%
    Collections.sort(yourList, new Comparator<Document>() {
        public int compare (Document d1, Document d2) {
            return d1.getUpdateTime().compare(d2.getUpdateTime());
        }
    });
%>

然后,您将能够迭代排序列表:

<c:forEach var="comment" items="<%=youList%>">
    ...
</c:forEach>

...

这不是最好的方法。请看这里的讨论:@GabiM:同意,这不是最好的处理方式,但我只是暴露了另一种方式,不一定是最好的方式。当然,它能解决问题。我只是想让其他人知道有更好的选择