`

struts2<s:iterator>遍历map小结

阅读更多

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>

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics