strust2控制标签(二) merge标签,generator标签,subset标签,sort标签

1,merge标签和append标签实现的功能几乎是一样的,都是将两个集合连接成一个新集合,但是排序方式不同,merge是先右后左,append是先左后右

2,generator标签永磊将一个字符串按指定的分隔符分割成多个子串,新生成的子串组成一个list,可以使用iterator迭代,属性:

val:指定被解析的字符串

count:指定所生成集合中元素的总数,默认是全部

separator:指定分割符

converter:指定一个转化器,将集合中的每个字符串转化成对象,

3,subset标签从一个集合截取一个子集,属性:

source:指定原集合

count:指定子集合中元素的总数,默认值是源集合的元素

start:从源集合的第几个元素开始截取,和数组的索引是一样的,第一个元素是0

4,sort标签对集合进行排序,排序规则开发者自己提供,即实现自己的Comparator实例

Comparator:排序规则的Comparator实例

Source:要排序的集合


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>控制标签的使用</title>
  </head>
  
  <body>
    <!-- merge标签 -->
    <h2>merge标签的使用</h2>
    <hr>
    <s:append id="newlistappend"><!-- 是先左后右的排序 -->
          <s:param value="{'集合1中的元素1','集合1中的元素2','集合1中的元素3'}"></s:param>
          <s:param value="{'集合2中的元素1','集合2中的元素2'}"></s:param>
    </s:append>
    <s:merge id="newlistmerge"><!-- 是先右后左的排序 -->
          <s:param value="{'集合1中的元素1','集合1中的元素2','集合1中的元素3'}"></s:param>
          <s:param value="{'集合2中的元素1','集合2中的元素2'}"></s:param>
    </s:merge>
    <br>
            迭代输出有append标签产生的新集合
    <s:iterator value="#newlistappend" id="dd" status="st">
         <br>
         <s:property value="dd"/>
    </s:iterator>
    <br>
           迭代输出有merge标签产生的新集合
    <s:iterator value="#newlistmerge" id="cc" status="st">
         <br>
         <s:property value="cc"/>
    </s:iterator>
    
    <!-- generator标签的使用 -->
    <h2>generator标签的使用</h2>
    <hr>
    <s:generator separator="," val="'语文,数学,英语,政治,历史,自然,科学'"  var="newlist">
           <s:iterator status="st" value="#newlist"><!-- 把分割之后生成的list迭代输出 -->
                
              <s:property/>
           </s:iterator>
    </s:generator>
    
    <!-- subset标签的使用 -->
    <h2>subset标签的使用</h2>
    <hr>
    <s:subset source="{'语文','数学','英语','政治','自然','科学'}" start="0" count="3" >
    <!-- start=0,count=3表示元集合从第一个元素开始,向后截取三个元素 ,组成一个新集合并用迭代器进行迭代-->
           <s:iterator  status="st" >
                   
                 <s:property/>
           </s:iterator>
    </s:subset>
    
    <!-- sort排序标签的使用 -->
    <h2>sort标签的对集合排序</h2>
    <hr>
    <s:bean name="sortbean.myComparator" id="mc"></s:bean><!-- jsp页面使用javabean -->
    <s:sort comparator="#mc"  source="{'语文你好','数学还差一点','英语差','政治还将就','自然','科学'}">
          <s:iterator  status="st" >
                   
           <s:property/>
          </s:iterator>
    </s:sort>    
  </body>
</html>

package sortbean;

import java.util.Comparator;

public class myComparator implements Comparator{

	@Override
	public int compare(Object o1, Object o2) {
		// TODO Auto-generated method stub
		return o1.toString().length()-o2.toString().length();
	}
  
}



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值