struts2.1 Control Tags

1. if/elseif/else

if/elseif/else这3个标签都是用于进行分支控制,根据一个Boolean表达式的值,来决定是否输出标签体的内容等。

if/elseif/else这3个标签中,只有<s:if../>标签可以单独使用,后面的<s:elseif../> <s:else../>都不可以单独使用,必须与<s:if../>结合使用,其中<s:if../>标签可以与多个<s:elseif../>标签结合使用,并可以结合一个<s:else../>标签使用

 

test属性 必须 判断的Boolean值

 

2. append

append标签用于将多个集合对象拼接起来,组成一个新的集合,通过这种拼接,从而允许通过一个<s:iterator../>标签就完成多个集合的迭代.

使用<s:append../>标签需要指定一个var属性,该属性确定拼接生成的新集合名称.<s:append../>标签接受多个<s:param.../>子标签,每个子标签指定一个集合,append标签负责将多个集合拼接成一个集合.

 

3.generator

generator标签,可以指定字符串按照指定的分隔符分隔成字串集合,使用iterator标签来迭代输出.

 

converter:可选属性,该属性指定一个转换器,负责将集合中的每个字符串转换成对象.  

count :该属性是一个可选的属性,指定生成集合中元素的总数   
seperator:这个是必填属性,该属性指定用于解析字符串的分隔符.   
val:必填属性,该属性指定被解析的字符串  
var:可选属性,若指定,生成的集合放在pageContext属性中. 

 

4. iterator

iterator标签主要用于对集合进行迭代,这里的集合包括List、Set和数组,也包括Map类型的对象。

 

value  指定被迭代的集合。通常被迭代的集合使用ONGL表达式指定。在没有指定value属性的情况下,使用ValueSatack栈顶的集合。

var  指定集合里的元素

status 指定迭代时的IteratorStatus实例。通过该实例就可以判断当前迭代元素的属性。

 这个类的方法有: 

  1. int  getCount():返回当前迭代了几个元素
  2. int  getIndex():返回当前迭代元素的索引   
  3. boolean  isEven(): 返回当前被迭代元素的索引是否是偶数 
  4. boolean  isOdd():  返回当前被迭代元素的索引是否是奇数 
  5. boolean  isFirst():  返回当前被迭代元素是否是第一个元素   
  6. boolean  isLast():  返回当前被迭代元素是否是最好一个元素 

使用iterator标签迭代Map对象,Map对象的每个Key-value被当成一个集合元素使用<s:property../>标签,通过指定value的属性为key和value来实现.  

 

5.merge

merge标签用于将多个集合拼接成一个集合,使用merge,与append形成的集合元素完全相同,但集合中的元素顺序不同

 

6.sort

依据  comparator 指定的比较器,对  source ( 未指定则为栈顶集合 )  集合排序。

comparator 必须 比较器

source 排序的集合

var 排序后集合的名字

 

7.subset

subset标签用于取得集合的子集,该标签的底层通过org.apache.struts2.util.Subset.IteratorFilter类提供实现.

  1. count:    可选属性,指定子集中元素的个数.在不指定该属性情况下,默认取得源集合的全部元素
  2. source: 可选属性,指定源集合.若不指定,默认取得ValueStack栈顶的集合.
  3. start:可选属性,指定子集从源集合中的第几个元素开始截取.默认从第一个开始截取,默认值为 0   
  4. decider:可选属性,指定由开发者自己决定是否选中该元素.
  5. var 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值