1.使用iterator 标签 遍历 数组,Map,List
2.action
Java代码 收藏代码
package com.sh.action;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.opensymphony.xwork2.ActionSupport;
import com.sh.pojo.User;
public class MapAction extends ActionSupport {
//遍历数组
private String [] arryStr;
//遍历list
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;
public String testMap(){
arryStr=new String[]{"admin","loclku","kinqij","junsldu","uonyulu"};
list=new ArrayList<User>();
list.add(new User(1, "admin1", "123", 10));
list.add(new User(2, "admin2", "123", 20));
list.add(new User(3, "admin3", "123", 30));
map=new HashMap<String, String>();
map.put("1", "one");
map.put("2", "two");
userMap=new HashMap<Integer, User>();
userMap.put(new Integer(1), new User(1, "admin", "123", 18));
userMap.put(new Integer(2), new User(2, "admin2", "123", 28));
userMap.put(new Integer(3), new User(3, "admin3", "123", 38));
arrayMap=new HashMap<String, String[]>();
arrayMap.put("arr1", new String[]{"1","sal","28"});
arrayMap.put("arr2", new String[]{"2","20200","malie","18"});
arrayMap.put("arr3", new String[]{"3","20200","malie","salke","18"});
userListMap=new HashMap<String, List<User>>();
List<User> list=new ArrayList<User>();
list.add(new User(4, "admin4", "456", 38));
list.add(new User(5, "admin5", "457", 48));
list.add(new User(6, "admin6", "467", 58));
userListMap.put("class1", list);
List<User> list1=new ArrayList<User>();
list1.add(new User(7, "admin7", "476", 58));
list1.add(new User(8, "admin8", "487", 68));
list1.add(new User(9, "admin9", "497", 78));
userListMap.put("class2", list1);
return SUCCESS;
}
//get set
}
3.struts.xml
Xml代码 收藏代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- 定义国际化资源文件的基本名称 -->
<constant name="struts.i18n.encoding" value="utf-8"/>
<package name="/user" extends="struts-default">
<action name="testMap" class="com.sh.action.MapAction" method="testMap">
<result name="success">/index.jsp</result>
</action>
</package>
</struts>
4.index.jsp
Html代码 收藏代码
<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>
</center>
</body>
分享到:
相关推荐
在Struts2中,`iterator`标签是用于遍历集合数据的重要工具,它可以用来迭代Map、List和数组等数据结构,以便在视图层进行展示。本篇文章将深入探讨`iterator`标签在遍历这些数据类型时的具体用法。 首先,我们来看...
在Struts2框架中,`<s:iterator>`标签是一个非常强大的工具,用于在JSP页面上循环遍历集合数据,如列表(List)、数组、Map等。它允许开发者以一种动态且灵活的方式展示来自后端的数据,从而极大地提高了开发效率和...
在Struts2中,也可以使用 `<s:iterator />` 标签遍历Map对象。Map对象中有几对key-value就迭代几次,分别使用 `<s:property value="key"/>` 和 `<s:property value="value"/>` 。 四、iterator的value iterator的...
本文将深入探讨如何在JSP中将`List`, `Set`, `Map`等集合类型的数据传递到Action,然后再通过`<s:iterator>`标签进行遍历显示。这种方式对于数据的展示和交互具有重要的实践意义。 首先,我们需要了解Struts2的工作...
`s:iterator`标签是Struts2中最常用的遍历集合的标签。它的主要属性包括: - **value**:指定要遍历的集合,可以是数组、列表或Map类型的对象。 - **id**:为每个遍历元素设置一个临时变量名。 - **status**:提供...
本文将深入讲解如何使用OGNL遍历Map对象,以展示Struts2在处理复杂数据结构时的灵活性。 首先,让我们来看一下`MapAction`类的代码。在这个例子中,我们定义了四个不同类型的Map对象: 1. `private Map, String> ...
`<s:iterator>`标签是Struts2中最常用的标签之一,它用于迭代任何可迭代的对象,包括List和Map。基本语法如下: ```jsp <s:iterator value="collection" var="item"> <!-- 迭代体 --> </s:iterator> ``` ...
- `s:iterator`:遍历集合数据,如List、Map等,用于循环渲染数据。 - `s:if` 和 `s:else`:条件判断标签,类似于Java中的if...else语句。 - `s:foreach`:遍历数组或集合,类似Java的for-each循环。 4. **...
`s:iterator`标签可以遍历Map对象,例如: ```jsp <s:iterator value="#{'1':'a','2':'b'}" id="id" status="st"> key : value: </s:iterator> ``` 这将输出:key : 1, value:a;key : 2, value:b; 4. 遍历数据栈...
在Struts2框架中,`iterator`标签是一个非常重要的组件,用于遍历各种集合对象,如List、Map等。在上述描述中,开发者遇到了一个关于`iterator`标签嵌套使用的问题,涉及到`LinkedHashMap`存储的数据结构。让我们...
10. **s:iterator标签**:用于迭代集合,常用于遍历列表、数组或Map,可以在循环内部嵌套其他Struts2标签。 11. **s:property标签**:用于显示Action类属性的值,可以格式化输出,支持EL表达式。 12. **s:debug...
8. `s:iterator`: 迭代标签,用于遍历集合、数组或者Map。通过`value`属性指定迭代源,`status`或`var`属性可以创建一个变量来存储当前迭代状态或元素。 9. `s:if`和`s:else`: 条件判断标签,可以基于OGNL表达式的...
iteratot标签:对集合属性迭代(属性类型:List、Map、数组)。 append标签:将多个集合对象拼接在一起,组成一个新的集合。将多个集合使用一个<iterator/>标签完成迭代。 generatot标签:将指定的字符串按照规定...
- `s:iterator`标签用于迭代集合,遍历数组、List、Map等数据结构,并可以配合`s:property`显示元素。 - 示例:`<s:iterator value="users"><s:property value="name" /></s:iterator>` 7. **条件标签:s:if和s:...
Struts2是一个流行的MVC框架,它的标签库极大地方便了开发者在JSP页面上的工作。下面将详细介绍Struts2中的部分核心标签及其用法。 A. `<s:a>` 和 `<s:action>`: - `<s:a href="">` 标签用于创建超链接,它可以绑定...
Struts2标签是Java Web开发框架Struts2中的核心组件之一,它极大地简化了视图层的构建,提高了代码的可读性和维护性。在Struts2中,标签主要用于处理和展示数据,使得开发者能够更加专注于业务逻辑,而无需深陷于...
4. `<s:iterator>`:迭代标签,用于遍历集合对象,如List、Map等。例如: ```jsp <s:iterator value="users"> <td><s:property value="username" /> <td><s:property value="email" /> </s:iterator> ``` ...
4. **遍历集合**:`<s:iterator>`是Struts2中非常实用的标签,用于遍历集合,如List、Set、Map等。通过`value`属性设置遍历的对象,`var`属性定义迭代变量名,`status`属性可以获取当前迭代的状态信息。 5. **条件...
10. `s:iterator`: 循环标签,常用于遍历集合数据,如List、Map等。 11. `s:include` 和 `s:useBean`: 分别用于包含其他页面和实例化Java Bean。 Struts2标签库API文档详细列出了每个标签的属性、用法和示例,帮助...
4. **Iterate标签**:这类标签主要用于遍历集合数据,如`<s:iterator>`可以迭代数组、List、Map等数据结构,展示循环内容。 5. **If和Choose标签**:`<s:if>`和`s:choose`、`<s:when>`、`<s:otherwise>`提供了条件...