Struts 2中<s:sort>标签的用法

0.建立项目

建立项目并使用myeclipse自带的工具配置Struts 2。我的项目名为Ex3

1.创建Student类

包含姓名和年龄两个属性,自动生成其getter和setter,再自己写一个构造函数

package org.vo;

public class Student {
    private String name;
    private int age;
    public Student(String name ,int age){
        super();
        this.name=name;
        this.age=age;
    }

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }

}
2.实现Comparator
package org.cmp;

import java.util.Comparator;

import org.vo.Student;

public class Cmp implements Comparator<Student>{
    public int compare(Student stu1, Student stu2) {
        //根据年龄排序
        return  stu1.getAge()-stu2.getAge();
    }
}
3.用Action创建List

(试了很多方法发现不能在jsp中完成这一操作,所以只能用Action)

package org.action;

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

import org.vo.Student;

import com.opensymphony.xwork2.ActionSupport;

public class SortTagAction extends ActionSupport{

    private List<Student> students = new ArrayList<Student>();
    public String execute(){
        Student stu1=new Student("张灿",20);
        Student stu2=new Student("刘志杰",19);
        Student stu3=new Student("彭涛",21);
        Student stu4=new Student("鲁荣明",18);

        students.add(stu1);
        students.add(stu2);
        students.add(stu3);
        students.add(stu4);

        return SUCCESS;
    }
    public List<Student> getStudents() {
        return students;
    }
    public void setStudents(List<Student> students) {
        this.students = students;
    }
}
4.使用sort标签进行排序

以下是sort.jsp的代码

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>sort.jsp</title>
  </head>
  <body>
    <s:bean name="org.cmp.Cmp" id="cmp"/>
    <s:sort comparator="cmp" source="students" id="sort">
            <s:iterator>  
                    <s:property value="name"/>  
                    <s:property value="age"/>
                    <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.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
    <constant name="struts.devMode" value="true" />
    <package name="default" namespace="/" extends="struts-default">
        <action name="sortTagAction" class="org.action.SortTagAction" >
            <result name="success">sort.jsp</result>
        </action>
    </package>

</struts>    



一个简单的sort标签就写完了,使用tomcat 8发布项目后,在浏览器输 http://localhost:8080/Ex3/sortTagAction.action,显示效果如下:
这里写图片描述



参考:
[1]郑阿奇.Java EE实用教程[M].北京:电子工业出版社,2015.2:67-68
[2] http://www.yiibai.com/struts_2/struts-2-sort-tag-example.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值