有些時候會從后台返回一個字符串,可以通過Strut2的標簽s:generator進行分割。
generator標簽,該標簽可以將指定字符串按指定分隔符分割成多個字串。生成的多個字串可以用iterator標簽進行迭代輸出。可以這么理解:generator標簽將一個字符串轉換成一個List集合。在該標簽體內,整個臨時生成的集合將為Valuestack的頂端,但一旦該標簽結束,生成的集合將被移除Valuestack。generator標簽有如下幾個屬性:
1、count屬性:指定生成集合中元素的總數。可選屬性。
2、val屬性:必填屬性,指定被解析的字符串。
3、separator屬性:這是一個必填屬性,指定用於分割字符串的分隔符。
4、converter屬性:可選屬性,指定一個轉換器,轉換器負責將生成的集合中的每個字符串轉換成對象,通過這個轉換器可以將一個含有分隔符的字符串解析成對象的集合。轉換器必須一個繼承org.apache.struts2.util.IteratorGenerator.Converter的對象。
5、var屬性,可選屬性。如果指定了該屬性,則將生成的集合保存在Stack Context中。如果不指定該屬性,則將生成的集合放入ValueStack的頂端,該標簽一結束,生成的集合就被移除。該屬性也可替換成id。
s:generator將字符串分割成一個數組,分割后通過s:iterator標簽
- <s:generator val="'a,b, c'" separator="," id="iter1">
- </s:generator>
- <s:iterator status="st" value="#request.iter1" id="name">
- <tr >
- <td><s:property value="name"/></td>
- </tr>
- </s:iterator>
當s:generator標簽需要分割的字符串為Action傳遞的值時,寫明參數名稱即可
