struts2 generator标签(控制标签)

本文详细介绍了Struts框架中Generator标签的使用方法及属性,包括如何将字符串分割为集合并利用Iterator进行迭代输出。此外,还展示了如何通过设置count和id属性限制集合大小并将集合保存至pageContext。

 generator标签
        使用generator标签可以将指定字符串按指定分隔符分成多个子串,临时生成的多个子串可以使用iterator标签来迭代输出。可以这样理解:generator将一个字符串转化成一个集合。在该标签的标签体内,整个临时生成的集合将位于ValueStack的顶端,蛋一旦该标签结束,该集合将被移出ValueStack
        generator标签的属性:

 

 

  1.    count :可选属性,该属性指定生成集合中元素的总数。
  2.   separator :必填属性,指定用于解析字符串的分隔符。
  3.    val:必填属性,指定被解析的字符串。
  4.  converter:可选属性,指定一个转换器,该转换器负责将集合汇总的每个字符串转换成对象
  5.    id:可选属性,如果指定了该属性,则将生成的集合放在pageContext属性中

 <!-- 使用s:generator标签将一个字符串解析成集合-->
<s:generator val = " 'Spring2.0宝典,轻量级J2EE企业应用实战,基于J2EE的Ajax宝典' "
      separator = ",">
<!-- 在generator标签内,该集合位于valuestack的栈顶,故此处迭代就是临时生成的集合-->
<s: iterator status = "st ">
     <!-- 根据当前迭代项索引的奇偶来决定是否使用CSS样式-->
     < tr <s:if   test="#st.odd" > style ="background-color:#bbbbbb"</s:if> >
              <td><s:property/></td>
      </tr>
</s:iterator>
</s:generator>
下面代码使用generator标签,使用了count和id属性,如果指定了count属性,意味着集合中最多只能包含count个元素(就是前count个元素),指定了id属性,就可以将临时生成的集合放置到pageContext属性中。代码如下:
<s:generator val = " 'Spring2.0宝典,轻量级J2EE企业应用实战,基于J2EE的Ajax宝典' "
      separator = ","    id="bookes"  count="2"/>
<%
         java.util.Iterator  i  =  (java.util.Iterator)pageContext.getAttribute("bookes") ;
         while( i.hasNext() ) {
         String s = (String) i.next(); %>
         <tr><td><%=s%></td></tr>
          <%}
%>

 

 

 

一下是1楼提出错误的代码:执行后的结果:



 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值