Struts2 控制标签(十一)对集合对象List进行排序

1.新建JavaBean实例
package com.wl.control.Bean;

public class UserInfo {

private String name;

private int weight;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getWeight() {
return weight;
}

public void setWeight(int weight) {
this.weight = weight;
}
}

2.新建Action实例
package com.wl.control.tagsAction;

import java.util.ArrayList;
import java.util.List;

import com.opensymphony.xwork2.ActionSupport;
import com.wl.control.Bean.UserInfo;

public class ShowSortList extends ActionSupport {

private List listUserInfo=new ArrayList();

public List getListUserInfo() {
return listUserInfo;
}

public void setListUserInfo(List listUserInfo) {
this.listUserInfo = listUserInfo;
}

@Override
public String execute() throws Exception {

UserInfo u1=new UserInfo();
u1.setName("张三");
u1.setWeight(140);

UserInfo u2=new UserInfo();
u2.setName("李四");
u2.setWeight(110);

UserInfo u3=new UserInfo();
u3.setName("王五");
u3.setWeight(120);

listUserInfo.add(u1);
listUserInfo.add(u2);
listUserInfo.add(u3);
return "showsortlist";
}

}

3.新建排序类
package com.wl.operator.util;

import java.util.Comparator;

import com.wl.control.Bean.UserInfo;

public class SortWeight implements Comparator {

public int compare(Object arg0, Object arg1) {

if(((UserInfo)arg0).getWeight()>((UserInfo)arg1).getWeight()){
return 1;
}else{
return -1;
}
}

}

注释:排序类要实现Comparator接口,并且重写compare()方法。
4.新建JSP文件
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@ taglib uri="/struts-tags" prefix="s" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<body>
<s:bean name="com.wl.operator.util.SortWeight" var="sortref"></s:bean>
<s:sort comparator="sortref" source="listUserInfo" var="newListUserInfo">
<s:iterator var="userInfoRef" value="#attr.newListUserInfo">
姓名:<s:property value="#userInfoRef.name"/>
体重:<s:property value="#userInfoRef.weight"/>
<br/>
</s:iterator>
</s:sort>
</body>
</html>

5.修改struts.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="Struts2.1" extends="struts-default">
<action name="showsortlist" class="com.wl.control.tagsAction.ShowSortList">
<result name="showsortlist">/controlTags/showsortlist.jsp</result>
</action>
</package>
</struts>

6.运行结果:

[img]http://dl.iteye.com/upload/attachment/380484/d899f7d5-fe01-3da7-8003-15075ac1d690.png[/img]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值