首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

《研磨struts2》第八章 Struts2的Taglib 之 8.3 统制标签

2012-07-19 
《研磨struts2》第八章 Struts2的Taglib 之 8.3 控制标签8.3??控制标签控制标签关注程序的运行流程,比如用if

《研磨struts2》第八章 Struts2的Taglib 之 8.3 控制标签


8.3??控制标签

控制标签关注程序的运行流程,比如用if/else来进行分支控制,用iterator来进行循环控制。接下来就来学习Struts2的控制标签。

8.3.1?if、elseif与else标签

1:if标签的功能:

?????? 类似于Java程序中的if,用来表达分支判断。

?? else标签的功能:

?????? 类似于Java程序中的else。

???elseif标签的功能:

?????? 类似于Java程序中的else if。

2:属性:

?????? if标签和elseif标签都只有一个test属性,它本身是一个OGNL表达式,运算结果为一个boolean值,表示是否符合条件,必须设置。

?????? else标签没有属性。

3:示例:

?????? 由于大家对于Java中的if-else是非常熟悉的,因此这里只需要看看,用标签如何来表达即可,示例如下:

?

?????? 然后,使用append标签来把list1和list2组合成一个大的集合,<s:append var="list3">中的var属性指定了组合后的大集合放进值栈的名字为list3,而param标签的value属性指定了被组合的集合。

?????? 最后,用iterator标签来遍历并输出合并后的集合。

8.3.4generator标签

1:功能:

?????? generator标签用来切分字符串,并把切分的结果组成一个集合。

2:属性:

?????? generator标签的主要属性:

  • val:指定被切分的字符串,必须指定。
  • separator:指定切分字符串用的分隔符,必须指定。比如要用“,”来切分字符串“a,b,c,d”,最终的结果为包含a、b、c、d四个字符串的集合。
  • count:返回集合的最大长度。
  • converter:用于设置自定义的Converter,必须是org.apache.struts2.util.IteratorGenerator.Converter接口的实现类。
  • var:指定变量名称,用来访问放到值栈中的集合。

    3:示例:

    ?????? 来个简单的示例,把一个字符串分解成集合,然后循环输出。示例代码如下:

    ?

    </s:subset>??

    在上面的代码中,首先使用bean标签创建了一个StringLengthDecider的实例,并把这个实例放到值栈上。然后用set标签创建了一个集合,也把这个集合放到值栈上。

    然后使用subset标签,其source属性指定了源集合为值栈中名称为“list”的集合;其start属性为1说明了从索引1开始,即源集合的第一个元素’1’不会进入子集合;其count属性的值为2说明了子集合中最多有2个元素;其decider属性指定了字符串长度等于1的元素才能进入子集合。

    综合以上各项条件,最终运行得到的结果应该是:“2?? 4”。

    ?

    私塾在线网站原创《研磨struts2》系列

    转自请注明出处:【http://sishuok.com/forum/blogPost/list/0/4079.html】

    欢迎访问http://sishuok.com获取更多内容

热点排行