jimingminlovefly

统计

最新评论

Struts2的s:generator和s:iterator的合用

经验1<select name="rooms" >
                 <s:generator val="1,2,3,4,5,6" separator="," id="numbers">
                  <
s:iterator value="#numbers" id="number">
                   <option value='<s:property value="number"/>'><s:property value="number"/>间</option>                 
                  </s:iterator> 
                 </s:generator>                                  
                 </select>

经验2<s:generator val="%{'a,b,c,d,e,f,g,h,i,j'}" count="#request.hotel.star" separator=",">
                    <s:iterator><img src="images/star.gif" /></s:iterator>
                   </s:generator>

generator标签,该标签可以将指定字符串按指定分隔符分割成多个字串。生成的多个字串可以用iterator标签进行迭代输出。可以这么理解:generator标签将一个字符串转换成一个List集合。在该标签体内,整个临时生成的集合将为Valuestack的顶端,但一旦该标签结束,生成的集合将被移除Valuestackgenerator标签有如下几个属性:

1count属性:指定生成集合中元素的总数。可选属性。

2val属性:必填属性,指定被解析的字符串。

3separator属性:这是一个必填属性,指定用于分割字符串的分隔符。

4converter属性:可选属性,指定一个转换器,转换器负责将生成的集合中的每个字符串转换成对象,通过这个转换器可以将一个含有分隔符的字符串解析成对象的集合。转换器必须一个继承org.apache.struts2.util.IteratorGenerator.Converter的对象。

5var属性,可选属性。如果指定了该属性,则将生成的集合保存在Stack Context中。如果不指定该属性,则将生成的集合放入ValueStack的顶端,该标签一结束,生成的集合就被移除。该属性也可替换成id


jsp实例:

 

  1. <%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>  
  2. <%@taglib prefix="s" uri="/struts-tags"%>  
  3. <head>  
  4.     <title>使用s:generator生成集合</title>  
  5. </head>  
  6. <body>  
  7. <s:debug/>  
  8.   
  9. <s:generator val="'a,b, c'" separator="," id="iter1">  
  10. </s:generator>  
  11. 使用generator标签将指定字符串解析成List集合0  
  12. <table border="1" width="240">  
  13. <!-- 在generator标签内,得到的List集合位于ValueStack顶端 -->  
  14. <s:generator val="'Struts 2权威指南,轻量级Java EE企业应用实战,  
  15.     疯狂Ajax讲义'" separator="," id="iter">  
  16. <!-- 没有指定迭代哪个集合,直接迭代ValueStack顶端的集合 -->  
  17. <s:iterator status="st">  
  18.     <tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>  
  19.         <td><s:property/></td>  
  20.     </tr>  
  21. </s:iterator>  
  22. </s:generator>  
  23. </table>  
  24.   
  25. <BR><BR><BR><BR>  
  26. 使用generator标签将指定字符串解析成List集合1  
  27. <table border="1" width="240">  
  28. <s:iterator status="st" value="#request.iter1" id="name">  
  29.     <tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>  
  30.         <td><s:property value="name"/></td>  
  31.     </tr>  
  32. </s:iterator>  
  33. </table>  
  34.   
  35. <BR><BR><BR><BR>  
  36. 使用generator标签将指定字符串解析成List集合2  
  37. <table border="1" width="240">  
  38. <s:iterator status="st" value="#iter1" id="name">  
  39.     <tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>  
  40.         <td><s:property value="name"/></td>  
  41.     </tr>  
  42. </s:iterator>  
  43. </table>  
  44. <s:property value="#attr"/>  
  45. <BR>  
  46. <s:property value="#iter"/>  
  47. <BR><BR><BR>  
  48. <a href="s-generator-count.jsp" mce_href="s-generator-count.jsp">s-generator-count.jsp</a>  
  49. </body>  
  50. </html>  

 

posted on 2011-12-08 10:20 计明敏 阅读(974) 评论(0)  编辑  收藏 所属分类: struts


只有注册用户登录后才能发表评论。


网站导航: