Iterator标签主要用于对集合进行扫描,这里的集合包括数组、List、Set以及Map对象。Iterator标签包含以下3个属性。java
Value:可选,该属性指定被迭代的集合。被迭代的集合一般使用OGNL表达式指定。若未指定value属性,则使用ValueStack栈顶的集合。数组
Id:可选,表示集合里的当前元素app
Status:可选,该属性指定了集合的IteratorStatus对象,在迭代集合的每个元素时都会有一个描述当前状态的IteratorStatus对象被放到ValueStack栈顶。经过IteratorStatus对象能够获取集合当前的各类状态信息,如当前集合元素的索引等。ide
Append标签用于将多个集合合并成一个新集合。使用append标签时须要指定一个id属性,该属性指定一个新集合的名字。Append标签不只能够合并同类型的集合对象,还能够将map对象和list对象进行合并。若是将map对象和list对象进行合并,将生成一个新的map对象,list对象的元素将做为新map对象的key,而value为空。spa
<s:append id=”newList”>对象
<s:param value=”{‘one’,’two’,’three’,’four’}”/>排序
<s:param value=”{‘five’,’six’}”/>索引
</append>接口
Generator标签用于将指定字符串按照指定分隔符转换成多个临时子串,并保存为一个集合对象。转换后的集合对象能够用iterator标签进行迭代输出。使用generator标签生成的集合被保存在ValueStack栈顶,当generator标签结束后,该集合将被从ValueStack栈顶移走。Generator标签有以下5个属性。three
Separator:必填,指定了用于分割字符串的分隔符。
Val:必填,指定了待分割的字符串。
Count:可选,指定了生成集合的最大长度。
Converter:可选,该属性指定一个转换器,经过该转换器,能够将集合中的每个字符串转换成对象。
Id:可选,若是指定了该属性,则generator标签将生成的集合放在pagecontext属性中。
Merge标签用于将集合以交替方式合并为新集合,区别于append标签的追加方式。使用merge标签须要指定一个id属性,表示新集合的名字。对于上面append标签合并的两个集合,若采用merge标签,输出结果为:one,five,two,six,three,four。
Subset标签用于获取集合的子集,该标签有以下几个属性。
Count:可选,指定了子集元素的个数。若是未指定该属性,则默认获取集合的全部元素。
Source:可选,指定源集合,若是未指定该属性,则默认使用ValueStack栈顶的集合做为源集合。
Start:可选,该属性指定从源集合第几个元素开始取子集,默认为0。
Decider:可选,该属性指定了一个自定义的子集规则对象实例。该规则类必须实现SubsetIteratorFilter.Decider接口。能够使用bean标签建立实现Decider接口的实例,赋给decider属性。
Sort标签用于对集合进行排序,但sort标签并未提供本身的排序规则,所以,使用sort标签对集合元素进行排序时,必须由开发人员提供排序规则。排序规则其实是实现java.util.Comparator接口的类。Sort标签有以下两个属性。
Comparator:必填,指定排序规则类的对象实例。
Source:可选,指定被排序的集合。若是未指定,则对ValueStack栈顶的集合进行排序。