struts2 标签对指定的元素集合排序

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

Java代码 
  1. public class ContentComparator implements Comparator<Content> {   
  2.     public int compare(Content o1, Content o2) {   
  3.         java.util.Calendar c1=java.util.Calendar.getInstance();   
  4.         java.util.Calendar c2=java.util.Calendar.getInstance();   
  5.         c1.setTime(o1.getInsertTime());   
  6.         c2.setTime(o2.getInsertTime());   
  7.         //按时间倒序排序   
  8.         //按时间顺序则直接返回c1.compareTo(c2)即可   
  9.         return -( c1.compareTo(c2));   
  10.     }   
  11. }  
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属性。这个可选填,该属性可指定我们需排序的集合,如果不填,则表示对值栈栈顶的集合进行排序

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

Java代码 
  1. <s:bean id="ContentComparator" name="util.ContentComparator"></s:bean>   
  2.     <!-- 按时间倒序排列 -->   
  3.     <s:sort comparator="ContentComparator" source="contentList">   
  4.             <s:iterator status="index" id="content">   
  5.                    </s:iterator>   
  6.     </s:sort>  
 	<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>

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值