《研磨struts2》第八章 Struts2的Taglib 之 8.3 控制标签
控制标签关注程序的运行流程,比如用if/else来进行分支控制,用iterator来进行循环控制。接下来就来学习Struts2的控制标签。
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标签来遍历并输出合并后的集合。
1:功能:
?????? generator标签用来切分字符串,并把切分的结果组成一个集合。
2:属性:
?????? generator标签的主要属性:
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获取更多内容