Struts2 Tag小结

 

在使用Struts2的标签时务必加入

<%@taglib uri="/struts-tag" prefix="s" %>

 1、iterator标签的使用:

    主要用于迭代输出Collection接口下的实现类如(List、Set、Map、数组等)

 

属性名称功能描述
value通过OGNL表达式指定一个迭代的集合对象,如果未指定该属性则从ValueStack栈顶的集合
id指定每次迭代的引用
status

指定每次迭代状态的引用

int getCount():返回目前为止共迭代输出过的元素个数

int getIndex():返回当前迭代元素的索引号,从0开始

boolean isEven():返回当前迭代的索引号是否为偶数

boolean isOdd():返回当前迭代的索引号是否为奇数

boolean isFirst():返回当前迭代的元素是否为第一个元素

boolean isLast():返回当前迭代的元素是否为最后一个元素

 

struts.xml文件:

<struts>
	<package name="struts2tag" namespace="/tag" extends="struts-default">
		<action name="showAction" class="DataContainer.TagShow" method="iterator">
			<result name="success">/WEB-INF/page/result.jsp</result>
		</action>
	</package>
</struts>
 

result.jsp文件:

<body>
  	<h3>用法一:使用iterator标签迭代输出list实例。</h3>
  	<s:iterator value="demoList" id="row" status="st">
  		<s:property value="#st.count"/>、<s:property value="row"/>
  		<s:if test="#st.odd">(奇数行)</s:if>
  		<s:else>(偶数行)</s:else><br/>
  	</s:iterator>
  	<h3>用法二:使用iterator标签迭代输出set实例。</h3>
  	<s:iterator value="hashSet" id="row" status="st">
	  	<s:property value="#st.Index"/>、<s:property value="row"/>
	  	<br/>
  	</s:iterator>
  	<h3>用法三:使用iterator标签迭代输出treeset实例。</h3>
  	<s:iterator value="treeSet" id="row" status="st">
  		<s:property value="#st.Index"/>、<s:property value="row"/>
  	<br/>
  	</s:iterator>
  	<h3>用法四:使用iterator标签迭代输出hashmap实例。</h3>
  	<s:iterator value="demoMap" id="row" status="st">
  		<s:property value="#st.Index"/>、key=<s:property value="key"/>
  		value=<s:property value="value"/>
  	<br/>
  	</s:iterator>
  	</body>

 TagShow文件:

public class TagShow {
	private ArrayList<String> demoList;
	private HashSet<String> hashSet;
	private TreeSet<String> treeSet;
	private HashMap<String,String> demoMap;
	
	public ArrayList<String> getDemoList() {
		return demoList;
	}
	public void setDemoList(ArrayList<String> demoList) {
		this.demoList = demoList;
	}

	public HashSet<String> getHashSet() {
		return hashSet;
	}
	public void setHashSet(HashSet<String> hashSet) {
		this.hashSet = hashSet;
	}

	public TreeSet<String> getTreeSet() {
		return treeSet;
	}
	public void setTreeSet(TreeSet<String> treeSet) {
		this.treeSet = treeSet;
	}

	public HashMap<String, String> getDemoMap() {
		return demoMap;
	}
	public void setDemoMap(HashMap<String, String> demoMap) {
		this.demoMap = demoMap;
	}

	public String iterator(){
		
		demoList = new ArrayList<String>();
		for(int i = 0;i < 4;i++){
			demoList.add("这是list中的第"+i+"个字符串.");
		}
		
		hashSet = new HashSet<String>();
		for(int i = 0;i < 4;i++){
			hashSet.add("这是hashset中的第"+i+"个字符串.");
		}
		
		treeSet = new TreeSet<String>();
		for(int i = 0;i < 4;i++){
			treeSet.add("这是treeset中的第"+i+"个字符串.");
		}
		
		demoMap = new HashMap<String,String>();
		for(int i = 0;i < 4;i++){
			demoMap.put("key"+i, "key"+i+"对应的字符串.");
		}
		return "success";
	}

}

输出:

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值