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)当前行数取模


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

时间: 2024-07-29 13:06:18

struts2标签遍历各种形式数据集合的相关文章

用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。

最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量.<s:iterator>标签有一个value属性,用来存放在Action类的方法中存数据的list集合,还有一个id,好像是说指定集合的索引的意思,就是给list集合遍历出来的每个对象加上一个数字标签,反正我是这么理解的,没用过.还有一个很重要,就是var变量,我在s:iterator按ctr

Struts2标签遍历List&lt;Map&lt;String, String&gt;&gt;

import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.opensymphony.xwork2.ActionSupport; public class LoginAction extends ActionSupport { private List<Map<String, String>> list; @Override

struts2标签 遍历map集合

首先我们来构造几个map集合. 假设如下代码 都是在ssh配置环境下搭建好,(至少struts2开发环境搭建好) (1).java 代码 下面的student对象包含的字段为 private Long id; private String num; private String name; private String sex; private Integer age; Action中的代码 private Map<String,String> map; private Map<Stri

使用Struts2标签遍历集合

遍历Map<String,Object> 遍历Map<Stirng,List<Student>> 遍历List<Map<String,Student>> Student.java package action; public class Student { private Long sid; private String name; public Student() { // TODO Auto-generated constructor stu

使用Struts2的iterator标签遍历复杂的Map类型

1.创建一个Web工程,添加Struts2支持. 2.创建两个实体类: a). Mother(母亲)的Java类. package struts.map.entity; import java.io.Serializable; public class Mother implements Serializable { private static final long serialVersionUID = 1L; private int motherId;        //母亲ID priva

[JavaWeb基础] 014.Struts2 标签库学习

在Struts1和Struts2中都有很多很方便使用的标签库,使用它可以让我们的页面代码更加的简洁,易懂,规范.标签的形式就跟html的标签形式一样.上面的篇章中我们也讲解了自定义标签那么在如何使用标签库就更好理解了,直接理解成第三方的标签库.那么我们要使用它,就要在页面上引入它. <%@ taglib prefix="s" uri="/struts-tags" %> Struts2.0标签大体可分为以下几类: 1.UI(User Interface,用

[Java]Struts2标签

http://www.open-open.com/lib/view/open1331393920452.html Struts2常用标签总结 一 介绍 1.Struts2的作用    Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的代码复用.Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求.     Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依

框架 day29 Struts2-上传,下载,OGNL与Struts2的结合(值栈与ActionContext),Struts2标签

文件上传 1.1回顾 *浏览器端: <formmethod="post" enctyp="multipart/form-data"> <inputtype="file" name="image"> <inputtype="submit"> *服务器端: 手动方式 第三方:commons-fileupload  核心类ServletFileUpload 1.2介绍 *str

【Struts2标签的使用和具体事项总结】

Struts2常用标签总结 一 介绍 1.Struts2的作用     Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的代码复用.Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求.     Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供了大部分标签,可以在各种表现技术中使用.包括最常用的jsp页面,也