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棧頂的集合進行排序。