Struts标签

原创
2015/07/22 14:05
阅读数 56

一、控制标签

(1) if else标签

<s:set name="person" value="29"></s:set>
  <s:if test="#person<30">
  	青年人
  
  </s:if>
  <s:else>
  
  不是青年人
  </s:else>

(2) iterator标签 迭代器,用于迭代输出集合中的元素


<!-- 定义一个集合 -->
	<s:set name="person" value="#{'张三':'26','李四':'25','王五':'27'}" />

	<table border="1">
		<tr>
			<td>姓名</td>
			<td>年龄</td>
		</tr>

		<s:iterator value="#person" status="st">
			<tr
				<s:if test="#st.odd">
 	style="background-color:#bbbbbb"
 	</s:if>>

				<td><s:property value="key" /></td>
				<td><s:property value="value" /></td>
		</s:iterator>
	</table>

(3) generator 分割字符串 可以指定count:分割字符集合的个数,var 分割后存储的集合(方法stackcontext中)

<!-- 定义一个集合 -->
	<s:set name="person" value="'{'张三''26','李四''25','王五''27'}'" />
	<s:generator separator="#" val="'a#person'" var="persons" ></s:generator>

	<table border="1">

		<s:iterator value="#persons" status="st">
			<tr
				<s:if test="#st.odd">
 	style="background-color:#bbbbbb"
 	</s:if>>

				<td><s:property /></td><tr>
		</s:iterator>
</table>

(4) subset 获得子集

<!-- 使用subset标签截取目标集合的4个元素,从第2个元素开始截取 -->
<s:subset source="{'疯狂Java讲义'
	,'轻量级Java EE企业应用实战'
	,'经典Java EE企业应用实战'
	,'疯狂Ajax讲义'
	,'疯狂iOS讲义'}" 
	start="1" count="4">
	<!-- 使用iterator标签来迭代目标集合,因为没有指定value属性值,
		故迭代ValueStack栈顶的集合 -->
	<s:iterator status="st">
		<!-- 根据当前迭代元素的索引是否为奇数决定是否使用CSS样式 -->
		<tr <s:if test="#st.odd">
			style="background-color:#bbbbbb"</s:if>>
			<td><s:property/></td>
		</tr>
	</s:iterator>
</s:subset>

可以指定分割器,选择满足条件的元素填入子集


public class MyDecider implements Decider
{

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

}

<s:bean var="decider" name="com.songxu.filter.MyDecider"></s:bean>
	<!-- 定义一个集合 -->
	<s:subset decider="#decider" source="{'bas','bus','ad','cs','db'}" var="mySubset"></s:subset>
	<table border="1">
		<!-- 因为生成page范围内的对象,所有引用子集时应当使用attr.mySubset引用 -->
		<s:iterator value="#attr.mySubset" status="st">
			<tr
				<s:if test="#st.odd">
 	style="background-color:#bbbbbb"
 	</s:if>>

				<td><s:property /></td><tr>
		</s:iterator></table>

(5) sort 排序标签


public  class MyComparator implements Comparator<Object>
{

	@Override
	public int compare(Object o1, Object o2)
	{
		//根据字符串的长度比较大小
		return o1.toString().length()-o2.toString().length();
	}

}


<!-- 定义一个集合 -->
	<s:sort comparator="#comparator" source="{'basa','buss','ads','cs','db'}" var="sort"></s:sort>
	
	<table border="1">
		<!-- 因为生成page范围内的对象,所有引用子集时应当使用attr.mySubset引用 -->
		<s:iterator value="#attr.sort" status="st">
			<tr
				<s:if test="#st.odd">
 	style="background-color:#bbbbbb"
 	</s:if>>

				<td><s:property /></td><tr>
		</s:iterator></table>









版权声明:本文为博主原创文章,未经博主允许不得转载。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部