`

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.运行结果:



  • 大小: 31.5 KB
分享到:
评论

相关推荐

    Struts标签集合简介

    `&lt;s:set&gt;` 赋值给变量,`&lt;s:sort&gt;` 对集合进行排序,`&lt;s:submit&gt;` 创建提交按钮,`&lt;s:subset&gt;` 输出集合的子集。 T. `, , , , &lt;s:textfield&gt;`: 创建选项卡面板、表格、国际化文本、文本区域和文本输入框。 U. `, ,...

    struts2标签库

    下面将详细介绍Struts2标签库中的部分常用标签,并将其与Struts1进行对比,以便更好地理解它们的功能。 #### 1. `&lt;s:a&gt;` 和 `&lt;s:action&gt;` - **`&lt;s:a&gt;`**:该标签用于创建一个超链接,类似于HTML中的`&lt;a&gt;`标签。与...

    struts2标签大全

    Struts2标签库是开发Java Web应用程序时常用的一种工具,它极大地简化了JSP页面的编写,提高了开发效率。在JSP中,我们通常使用`&lt;%@ taglib prefix="s" uri="/struts-tags" %&gt;`来引入Struts2的标签库。下面将详细...

    Struts2全部标签使用说明

    - `&lt;s:sort&gt;` 通过比较器对列表进行排序。 - `&lt;s:submit&gt;` 创建提交按钮,触发表单的提交。 - `&lt;s:subset&gt;` 似乎在文档中没有明确描述,可能是遗漏或拼写错误,通常不常见。 以上只是Struts2标签库的一部分,实际...

    Struts2标签详解及具体实例解析

    ### Struts2标签详解及具体实例解析 #### 一、概述 Struts2是一个基于MVC模式的开源框架,它提供了丰富的标签库来简化Web应用的开发过程。这些标签不仅功能强大,而且易于使用,可以帮助开发者快速构建动态网页。...

    Struts2 标签库讲解

    1. **逻辑控制标签**:这类标签用于实现条件判断和循环操作。 - **条件标签**:包括`s:if`、`s:elseif`和`s:else`,它们与Java中的`if-else`语句类似,但更方便地集成在JSP中。 - **迭代标签**:`s:iterator`用于...

    struts2 sort实例

    在Struts2中,提供了丰富的标签库来简化视图层的开发,其中包括`sort`标签,它允许我们在JSP页面上对数据集合进行排序。这个实例将深入探讨如何使用`struts2 sort`标签及其相关概念。 首先,`sort`标签是Struts2的...

    struts2 标签库 帮助文档

    sort标签:多指定的集合元素进行排序。 数据标签: action:直接调用一个Action,根据executeResult参数,可以将Action的处理结果包含到页面中。 bean:创建一个JavaBean实例。。 date:格式化输出一个日期属性。 ...

    struts2-s标签

    与 Struts 1.x 版本相比,Struts2 在标签库的设计上进行了重大的改进和优化。 #### 标签库概述 在 Struts 1.x 中,标签库主要分为四大类:`html`、`bean`、`logic`、`tiles`。而在 Struts2 中,所有的标签都被统一...

    struts2集合示例

    本示例重点展示了Struts2框架如何与各种集合类型,如Set、List和Map进行集成和操作。 在Web应用程序中,集合数据结构经常被用来存储和管理动态的数据。Set集合不包含重复元素,按照插入顺序或特定规则排序,例如...

    Struts_2_标签库(文档手册)_Tags-API-CLSW-JSP

    对集合或列表进行排序,支持自定义比较器和排序方向。 #### `&lt;s:submit&gt;` 标签 生成提交按钮,触发表单提交事件,支持多种样式和事件绑定。 #### `&lt;s:subset&gt;` 标签 从集合中提取子集,支持按索引或条件筛选。 ...

    struts2的标签库

    Struts2提供了丰富的逻辑控制标签,极大地简化了开发工作。 ##### 1)条件标签 条件标签主要用于执行基本的条件流转。 - **`&lt;s:if&gt;`**:此标签拥有一个`test`属性,通过表达式的值来决定标签里的内容是否显示。...

    struts2常用标签

    以下是对Struts2中一些常用标签的详细说明: 1. `&lt;s:a&gt;`:这是一个超链接标签,用于创建HTML的`&lt;a&gt;`标签。通过指定`href`属性,可以链接到指定的URL。与HTML的`&lt;a&gt;`标签不同,它还可以结合Struts2的Action映射,...

    struts2基本标签用法

    为了对集合中的元素进行排序,Struts2提供了`&lt;s:sort&gt;`标签。可以通过自定义的比较器(`Comparator`)来控制排序规则。 ```xml &lt;s:sort source="userList" comparator="#myComparator"&gt; ... ``` 这里`...

    Struts2常用标签

    下面将对每个标签进行详细的介绍。 #### 三、具体标签详解 1. **&lt;s:a&gt; 超链接** - **用途**:创建超链接。 - **示例**: ```xml &lt;s:a href="%{exampleAction}"&gt;Example Link ``` 2. **&lt;s:action&gt; 执行Action...

    struts2的s标签

    Struts2提供了丰富的标签库,其中“S标签”(S-tags)是一种特殊的标签集合,用于简化页面上的数据绑定以及页面逻辑处理。S标签的设计目标是减少对脚本语言(如JSP EL表达式或脚本let)的依赖,并且提高页面的可读性...

    struts2标签整理

    用于对集合进行排序。 ```jsp &lt;s:iterator value="list"&gt; &lt;s:property value="%{#status.index}"/&gt;: #{item} ``` ##### 41. `&lt;s:submit&gt;` - 提交按钮标签 用于创建一个提交按钮。 ```jsp 提交"/&gt; ``` ##### ...

    struts2标签和OGNL表达式.pdf

    OGNL表达式的格式通常包括对对象、属性和方法的引用。例如,可以使用OGNL表达式来访问当前会话中的用户对象并获取其用户名属性。 #applicationContext, #session, #request等符号是OGNL在Struts2中的内置对象,分别...

    Struts2+API+标签全解+网页说明

    sort标签:多指定的集合元素进行排序。 数据标签: action:直接调用一个Action,根据executeResult参数,可以将Action的处理结果包含到页面中。 bean:创建一个JavaBean实例。。 date:格式化输出一个日期属性。 ...

    Struts中嵌套集合的显示示例

    Struts框架是Java Web开发中的一个经典MVC(Model-View-Controller)框架,它极大地...在实际项目中,可能还需要考虑分页、排序、条件过滤等情况,但基本原理是相同的,即利用Struts提供的标签库进行数据绑定和遍历。

Global site tag (gtag.js) - Google Analytics