当前位置: 代码迷 >> Web前端 >> 利用Struts2 sort标签对指定会合元素t排序
  详细解决方案

利用Struts2 sort标签对指定会合元素t排序

热度:330   发布时间:2012-07-15 20:20:06.0
利用Struts2 sort标签对指定集合元素t排序

?sort标签可用于对指定的集合元素进行排序,排序时,我们必须提供自己的排序规则,及实现自己的Comparator, 自己的Comparator需要实现java util 包下的Comparator接口。如下所示:

public class ContentComparator implements Comparator<Content> {
	public int compare(Content o1, Content o2) {
		java.util.Calendar c1=java.util.Calendar.getInstance();
		java.util.Calendar c2=java.util.Calendar.getInstance();
		c1.setTime(o1.getInsertTime());
		c2.setTime(o2.getInsertTime());
		//按时间倒序排序
		//按时间顺序则直接返回c1.compareTo(c2)即可
		return -( c1.compareTo(c2));
	}
}

?

这里是对内容按时间倒序排列。当然我们也可以对内容的其它字段进行排序,如果你需要的话,

该方法如果返回一个大于0的数则表示第一个元素大于第二个元素,反之亦反,如果返回0 则表示两个元素相等。

页面在调用sort标签是 有一个必填属性Comparator,该属性指定了我们要进行排序的Comparator的实例。

还有一个source属性。这个可选填,该属性可指定我们需排序的集合,如果不填,则表示对值栈栈顶的集合进行排序

下面是页面调用排序代码:

 	<s:bean id="ContentComparator" name="util.ContentComparator"></s:bean>
	  	<!-- 按时间倒序排列 -->
	  	<s:sort comparator="ContentComparator" source="contentList">
  		    <s:iterator status="index" id="content">
	                    </s:iterator>
	  	</s:sort>

?

?

?

  相关解决方案