1.MapAction.java
package com.uaes.util;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.opensymphony.xwork2.ActionSupport;
public class MapAction extends ActionSupport {
private Map<String, String> map;
private Map<String, Student> studentMap;
private Map<String, String[]> arrayMap;
private Map<String, List<Student>> listMap;
public String testMap() {
map = new HashMap<String, String>();
map.put("1", "one");
map.put("2", "two");
studentMap = new HashMap<String, Student>();
studentMap.put("student1", new Student(new Integer(1), "20034140201", "张三1", "男", 25));
studentMap.put("student2", new Student(new Integer(2), "20034140202", "张三2", "女", 26));
studentMap.put("student3", new Student(new Integer(3), "20034140202", "张三3", "男", 27));
arrayMap = new HashMap<String, String[]>();
arrayMap.put("arr1", new String[] { "1", "2003401", "leejie", "male", "20" });
arrayMap.put("arr2", new String[] { "2", "2003402", "huanglie", "male", "25" });
arrayMap.put("arr3", new String[] { "3", "2003403", "lixiaoning", "male", "21" });
listMap = new HashMap<String, List<Student>>();
List<Student> list1 = new ArrayList<Student>();
list1.add(new Student(new Integer(1), "20034140201", "张三1", "男", 25));
list1.add(new Student(new Integer(2), "20034140202", "张三2", "男", 25));
list1.add(new Student(new Integer(3), "20034140203", "张三3", "男", 25));
listMap.put("class1", list1);
List<Student> list2 = new ArrayList<Student>();
list2.add(new Student(new Integer(1), "20034140301", "李四1", "男", 20));
list2.add(new Student(new Integer(2), "20034140302", "李四2", "男", 21));
list2.add(new Student(new Integer(3), "20034140303", "李四3", "男", 22));
list2.add(new Student(new Integer(4), "20034140304", "李四4", "男", 23));
listMap.put("class2", list2);
return SUCCESS;
}
public Map<String, String> getMap() {
return map;
}
public void setMap(Map<String, String> map) {
this.map = map;
}
public Map<String, Student> getStudentMap() {
return studentMap;
}
public void setStudentMap(Map<String, Student> studentMap) {
this.studentMap = studentMap;
}
public Map<String, String[]> getArrayMap() {
return arrayMap;
}
public void setArrayMap(Map<String, String[]> arrayMap) {
this.arrayMap = arrayMap;
}
public Map<String, List<Student>> getListMap() {
return listMap;
}
public void setListMap(Map<String, List<Student>> listMap) {
this.listMap = listMap;
}
}
class Student {
private Integer id;
private String num;
private String name;
private String sex;
private Integer age;
public Student(Integer id, String num, String name, String sex, Integer age) {
super();
this.id = id;
this.num = num;
this.name = name;
this.sex = sex;
this.age = age;
}
}
2.testMap.jsp
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>struts2中的map遍历总结</title>
</head>
<body>
<b>1.map中的value为String字符串</b>
<br>
<s:iterator value="map" id="column">
<s:property value="#column" />
key: <s:property value="key" />
<br>
value:<s:property value="value" />
</s:iterator>
<b>2.map中的value为Student对象</b>
<table border="1" width="50%" cellspacing="0" cellpadding="0">
<tr>
<td>
key=value
</td>
<td>
ID
</td>
<td>
num
</td>
<td>
name
</td>
<td>
sex
</td>
<td>
age
</td>
</tr>
<s:iterator value="studentMap" id="column">
<tr>
<td>
<s:property value="#column" />
</td>
<td>
<s:property value="value.id" />
</td>
<td>
<s:property value="value.num" />
</td>
<td>
<s:property value="value.name" />
</td>
<td>
<s:property value="value.sex" />
</td>
<td>
<s:property value="value.age" />
</td>
</tr>
</s:iterator>
</table>
<b>3.map中的value为String数组</b>
<table border="1" width="50%" cellspacing="0" cellpadding="0">
<tr>
<td>
key=value
</td>
<td>
ID
</td>
<td>
num
</td>
<td>
name
</td>
<td>
sex
</td>
<td>
age
</td>
</tr>
<s:iterator value="arrayMap" id="column">
<tr>
<td>
<s:property value="#column" />
</td>
<td>
<s:property value="value[0]" />
</td>
<td>
<s:property value="value[1]" />
</td>
<td>
<s:property value="value[2]" />
</td>
<td>
<s:property value="value[3]" />
</td>
<td>
<s:property value="value[4]" />
</td>
</tr>
</s:iterator>
</table>
<b>4.map中的value为list集合</b>
<table border="1" width="50%" cellspacing="0" cellpadding="0">
<tr>
<td>
class
</td>
<td>
ID
</td>
<td>
num
</td>
<td>
name
</td>
<td>
sex
</td>
<td>
age
</td>
</tr>
<s:iterator value="listHashMap" id="listid">
<s:iterator value="#listid.value" id="listidsub">
<tr>
<td>
<s:property value="key" />
</td>
<td>
<s:property value="id" />
</td>
<td>
<s:property value="num" />
</td>
<td>
<s:property value="name" />
</td>
<td>
<s:property value="sex" />
</td>
<td>
<s:property value="age" />
</td>
</tr>
</s:iterator>
</s:iterator>
</table>
</body>
</html>