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

1.建一个Webproject。加入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

private String motherName;        //母亲名字

public int getMotherId() {

return motherId;

}

public void setMotherId(int motherId) {

this.motherId = motherId;

}

public String getMotherName() {

return motherName;

}

public void setMotherName(String motherName) {

this.motherName = motherName;

}

}

b).Children(孩子)的Java类

package struts.map.entity;

import java.io.Serializable;

public class Children implements Serializable {

private static final long serialVersionUID = 1L;

private int childId;        //孩子ID

private int motherId;        //母亲的ID

private String childName;        //孩子名字

public int getChildId() {

return childId;

}

public void setChildId(int childId) {

this.childId = childId;

}

public int getMotherId() {

return motherId;

}

public void setMotherId(int motherId) {

this.motherId = motherId;

}

public String getChildName() {

return childName;

}

public void setChildName(String childName) {

this.childName = childName;

}

}

3. 创建一个Action。并创建一位母亲和她的孩子。

package struts.map.test;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import struts.map.entity.Children;

import struts.map.entity.Mother;

import com.opensymphony.xwork2.ActionSupport;

public class Struts2_Map extends ActionSupport {

private static final long serialVersionUID = 1L;

private Map<Mother,List<Children>> motherChildn;

public Map<Mother, List<Children>> getMotherChildn() {

return motherChildn;

}

@Override

public String execute() throws Exception {

/*-------------------以对象做父节点的键,List做子节点的值。的Map-----------------------*/

Mother mother = new Mother();

mother.setMotherId(10000);

mother.setMotherName("花木兰");

Children children1 = new Children();

children1.setChildId(10000);

children1.setMotherId(10000);

children1.setChildName("小花木兰1");

Children children2 = new Children();

children2.setChildId(10001);

children2.setMotherId(10000);

children2.setChildName("小花木兰2");

Children children3 = new Children();

children3.setChildId(10002);

children3.setMotherId(10000);

children3.setChildName("小花木兰3");

motherChildn = new HashMap<Mother,List<Children>>();

List<Children> childrens = new ArrayList<Children>();

childrens.add(children1);

childrens.add(children2);

childrens.add(children3);

motherChildn.put(mother,childrens);

return SUCCESS;

}

}

struts.xml

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">

<struts>

<package name="map" extends="struts-default">

<action name="struts_map" class="struts.map.test.Struts2_Map">

<result>result.jsp</result>

</action>

</package>

</struts>

4.创建两个页面:

a).跳转页面:

<%@ page language="java" pageEncoding="UTF-8"%>

<%

String path = request.getContextPath();

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>Struts_Map</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

</head>

<body>

<a href="struts_map.action">查看Map</a>

</body>

</html>

b).终于页面,也是作重要的页面:

<%@ page language="java" pageEncoding="UTF-8"%>

<%@taglib uri="/struts-tags" prefix="s" %>

<%

String path = request.getContextPath();

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>Struts_Map</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

</head>

<body>

<div>

<h3>-----------------以对象做父节点的键,List做子节点的值。的Map--------------------</h3>

<s:iterator var="mc" value="motherChildn">

<div>

母亲名称:<s:property value="key.motherName"/>

</div>

<s:iterator var="ch" value="value">

<div>

&nbsp;&nbsp;&nbsp;孩子名称:<s:property value="#ch.childName"/>

</div>

</s:iterator>

</s:iterator>

</div>

</body>

</html>

终于执行结果:

版权声明:本文博客原创文章,博客,未经同意,不得转载。

时间: 2024-10-14 12:45:25

使用Struts2的iterator标签遍历复杂Map种类的相关文章

使用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

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中iterator标签使用radio/input迭代传值

iterator标签使用radio迭代传值 jsp页面代码: <struts:iterator value="checkboxs" status="st" > <td><struts:radio name="checkResultArray[%{#st.index}]" list="result" listKey="key" listValue="value"

c标签遍历List&lt;Map&lt;String, Object&gt;&gt; 数据格式

<c:forEach varStatus="loop" var="dataMap" items="${dataMap}"> </tr> <td>${loop.count}</td> <td>${dataMap.TM}</td> <td>${dataMap.DH}</td> <td>${dataMap.ND}</td> <t

struts2的s:iterator 标签 详解

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='numb

转:Struts2&lt;s:iterator value=&quot;&quot; var=&quot;lst&quot;&gt;中var的使用和一些标签的使用体会

比如<s:iterator value="pmOperateList" var="lst"> <!-- iterator加上var 等价于重新声明了pmOperateList,对象是lst 确保有值 --> 之前没有var的时候,一直拿不到值,加了后用${lst.operateActionName}来显示.就出来了 而在jsp的struts标签里面写Java代码逻辑的时候,要加上%{},就好比普通的jsp页面用<%%>应用java

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的s:iterator 标签 详解&lt;转&gt;

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='numb

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; pri