struts2标签详解(一)

struts2标签的功能非常强大。
1.if/elseif/else标签,用法跟普通的if,else语句一样。
<s:set name="age" value="30"></s:set>
<s:if test="#age>60">老年人</s:if>
<s:elseif test="#age>35">中年人</s:elseif>
<s:else>青少年</s:else><br/>

2.iterator标签,用与遍历List或Map。
<s:iterator value="{'aa','bb','cc'}" id="name" status="st">
<s:property value="#st.count"/>
<s:property value="#st.isEven()"/>
<s:property value="name"/>
</s:iterator><br/>

status是IteratorStatus实例,用与获取获取当前迭代元素的一些信息
3.append标签,用于合并list,map,能对list和map混合拼接。
<s:append var="newList">
<s:param value="{'aa','bb'}"></s:param>
<s:param value="{'cc','dd'}"></s:param>
</s:append>
<s:iterator value="#newList" id="name" status="st">
<s:property value="#st.count"/>
<s:property value="name"/>
</s:iterator><br/>

4.merge标签,作用和append相似,但结果排序不同,此标签的排序是将每个集合的第一个元素先放进结果集合,然后是第二个元素,接着...
<s:merge var="newList">
<s:param value="{'aa','bb'}"></s:param>
<s:param value="{'cc','dd'}"></s:param>
</s:merge>
<s:iterator value="#newList" id="name" status="st">
<s:property value="#st.count"/>
<s:property value="name"/>
</s:iterator><br/>

结果:1 aa 2 cc 3 bb 4 dd
5.generator标签,用于字符串的分隔,与String的split()方法相似。
<s:generator separator="," val="%{'java,c#,php,.net,asp,android'}" var="language">
<s:iterator>
<s:property/>
</s:iterator>
</s:generator><br/>

6.subset标签,用于筛选集合元素。
<s:subset source="{'aa','bb','cc','dd','ee','ff'}" start="1" count="3">
<s:iterator>
<s:property/>
</s:iterator>
</s:subset><br/>

除此之外,用户还能定义各种筛选规则。
package com.randy.com.util;

import org.apache.struts2.util.SubsetIteratorFilter.Decider;

public class MyDecider implements Decider {

@Override
public boolean decide(Object element) throws Exception {
String str = (String)element;
return str.indexOf("java") >= 0;
}

}


<s:bean name="com.randy.com.util.MyDecider" var="mydecider"></s:bean>
<s:subset source="{'javase','javaee','javame','android'}" decider="#mydecider" var="newList">
</s:subset>
<s:iterator value="#attr.newList">
<s:property/>
</s:iterator>

7.sort标签,用于对集合元素进行排序,排序规则必须自己制定。
<s:bean name="com.randy.com.util.MyComparator" var="mycomparator"></s:bean>
<s:sort comparator="#mycomparator" source="{'a','aaaa','aa','bbd','n'}" var="sortList"></s:sort>
<s:iterator value="#attr.sortList">
<s:property/>
</s:iterator><br/>

Mycomparator类
package com,randy.com.util;

import java.util.Comparator;

public class MyComparator implements Comparator {

@Override
public int compare(Object ele1, Object ele2) {
return ele1.toString().length() - ele2.toString().length();
}

}


:arrow: 交流群:132607763 若满了,请加:251207741
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值