Java JSTL foreach-带有特定字段的排序列表
我在下面显示3个字段userid、value和upadtetime,我想按UPDATE.TIME按desc顺序排序。请建议如何做到这一点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
<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:同意,这不是最好的处理方式,但我只是暴露了另一种方式,不一定是最好的方式。当然,它能解决问题。我只是想让其他人知道有更好的选择