struts2标签遍历各种形式数据集合

在类中定义的集合类型如下:
private String [] arryStr;
	
private List<User> list;
	
private Map<String,String> map;
	
private Map<Integer,User> userMap;
	
private Map<String,String[]> arrayMap;
	
private Map<String,List<User>> userListMap;
private List<Object[]> olist;

 对应的在jsp页面中使用struts2标签遍历如下:
 <body>
  	<center>
  	<br/>======iterator遍历String 字符数组======<br/>
  		<s:iterator value="arryStr" id="array">
  		   <s:property value="array"/><br/>
  		</s:iterator>
  	<div></div>
  	<br/>======iterator遍历List集合======<br/>
  	<table border="1" width="50%" cellpadding="0" cellspacing="0">
  		<tr style="background-color: yellow">
  			<td>id</td>
  			<td>name</td>
  			<td>pwd</td>
  			<td>age</td>
  		</tr>
  		<s:iterator value="list" id="array">
  			<tr>
  		   	<td><s:property value="id"/></td>
	  		<td><s:property value="name"/></td>
	  		<td><s:property value="pwd"/></td>
	  		<td><s:property value="age"/></td>
	  		</tr>
  		</s:iterator>
  	</table>
 
  	<br/>======iterator遍历Map中的String字符串======<br/>
  	<s:iterator value="map" id="column">
  	<s:property value="#column"/><br/>
  	Key:<s:property value="key"/><br/>
  	Value:<s:property value="value"/><br/>
  	</s:iterator>
  	<div></div>
  	<br/>======iterator遍历Map中的User 对象(Object)======<br/>
  	<table border="1" width="50%" cellpadding="0" cellspacing="0">
  		<tr style="background-color: yellow">
  			<td>key=value</td>
  			<td>id</td>
  			<td>name</td>
  			<td>pwd</td>
  			<td>age</td>
  		</tr>
  		<s:iterator value="userMap" id="column">
	  	<tr>
		  	<td><s:property value="#column"/></td>
		  	<td><s:property value="value.id"/></td>
		  	<td><s:property value="value.name"/></td>
		  	<td><s:property value="value.pwd"/></td>
		  	<td><s:property value="value.age"/></td>
	  	</tr>
	  </s:iterator>
	  </table>
	  <br/>======iterator遍历Map中的String字符数组======
  		<s:iterator value="arrayMap" id="column">
		  	<div><s:property value="#column"/></div>
		  	-------------------key:<s:property value="key"/>--------------------<br/>
		  	<s:iterator value="value" id="col">
		  		<s:property value="col"/><br/>
		  	</s:iterator>
	  		<div></div>
	  	</s:iterator>
	  	
	  <br/>======iterator遍历Map中的List集合======
	  <table border="1" width="50%" cellpadding="0" cellspacing="0">
  		<tr style="background-color: yellow">
  			<td>key</td>
  			<td>id</td>
  			<td>name</td>
  			<td>pwd</td>
  			<td>age</td>
  		</tr>
  		<s:iterator value="userListMap" id="column">
  			<s:set var="total" name="total" value="#column.value.size"/>
		  	<s:iterator value="#column.value" id="col" status="st">
		  	<tr>
		  		<s:if test="#st.first"><td rowspan="${total}"><s:property value="#column.key"/></td></s:if>
		  		<td><s:property value="id"/></td>
		  		<td><s:property value="name"/></td>
		  		<td><s:property value="pwd"/></td>
		  		<td><s:property value="age"/></td>
		  	</tr>
		  	</s:iterator>
	  	</s:iterator>
	  </table>
	   <br/>======iterator遍历object[]中的List集合======
	  <table border="1" width="50%" cellpadding="0" cellspacing="0">
  		<tr style="background-color: yellow">
  			<td>key</td>
  			<td>id</td>
  			<td>name</td>
  		</tr>
  		<s:iterator value="olist" id="value"  status="st">
		  	<tr>
		  		<td><s:property value="olist[#st.index][0]"/></td>
		  		<td><s:property value="olist[#st.index][1]"/></td>
		  		<td><s:property value="olist[#st.index][2]"/></td>
		  	</tr>
	  	</s:iterator>
	  </table>
  	</center>	  
  </body>

本人测试木有问题,欢迎大家参考

另外附上struts2遍历集合的用法介绍:

struts2的s:iterator 可以遍历 数据栈里面的任何数组,集合等等以下几个简单的demo:
s:iterator 标签有3个属性:
   value:被迭代的集合
   id   :指定集合里面的元素的id
    status迭代元素的索引

1:jsp页面定义元素写法 数组或list


<s:iterator value="{'1','2','3','4','5'}"id='number'>
   <s:property value='number'/>A
</s:iterator>
打印结果为: 1A2A3A4A5A

2:索引的用法
如果指定了status,每次的迭代数据都有IteratorStatus的实例,它有以下几个方法

<s:iterator 中的status 使用方法

1:#status.odd 当前元素索引是否奇数行

2:#status.even 当前元素索引是否偶数

3:#status.count 当前迭代了几个元素
4:#status.index当前元素索引,从0开始『#status.count=#status.index+1』

5:#status.first 当前是否第一个元素
6:#status.last 当前是否最后一个元素
7:#status.modules(int)当前行数取模 
 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱人间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值