struts2常用标签库之逻辑控制标签

时间:2022-11-03 14:59:58

一、逻辑控制标签

1)条件标签

条件标签主要有<s:if><s:elseif><s:esle>3个子标签,用于执行基本的条件流转

<s:if test="#request.username=='admin'">  

    您是admin!  

</s:if>  

<s:elseif test="#request.username=='manager'">  

    您是manager!  

</s:elseif>  

<s:else>  

    您没有身份!  

</s:else>  

 

test:条件判定语句,值为boolean类型。

(2)迭代标签

<s:iterator>标签用于遍历集合(java.util.Collection)或者枚举值(java.util.Iterator)类型的对象。

1遍历普通List、数组

//后台存放数据到list  

List<String > list = newArrayList<String>();  

list.add("aaa");list.add("bbb"); list.add("ccc");  

  

<!-- iterator标签遍历list -- >  

<s:iterator value="list"var="v">  

    <s:property value="v"/><br>  

</s:iterator>  

 或者:  

10 <s:iteratorvalue="list">  

11      <s:property/><br>  

12  </s:iterator>  

 

2遍历对象List、数组

13 <s:iterator value="users" id="us">  

14    <!--可以这样: <s:property value="#us.name"/>  -->  

15     <s:property value="name"/>  

16     <s:property value="email"/><br/>  

17 </s:iterator>   

 

3) status属性的应用

18 <s:iterator value="users" id="us" status="u">  

19     序列号: <s:property value="#u.index"/>  

20      姓名:  <s:property value="name"/>  

21      邮件:  <s:property value="email"/>  

22        

23      是否第一条:  <s:property value="#u.first"/>  

24      是否最后一条:<s:property value="#u.last"/>  

25      是否偶数行:  <s:property value="#u.even"/>  

26      是否奇数行:  <s:property value="#u.odd"/>  

27      当前行数:    <s:property value="#u.count"/>  

</s:iterator>  

id:指定集合中元素在值栈中的名称。
value:指定迭代的迭代体。
var:指向值栈中的值。
status:该属性在迭代时会产生一个IteratorStatus对象,该对象可以判断当前元素的位置。