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();
}
}