读书人

struts2 遍历Map的N中步骤

发布时间: 2012-06-30 17:20:12 作者: rapoo

struts2 遍历Map的N中方法

??strArryMap.put("arr2", new String[] { "2", "310001", "xh" });
??strArryMap.put("arr3", new String[] { "3", "310002", "sc" });
??
??//list对象处理
??List<Person> list=new ArrayList<Person>();??
??list.add(new Person("001", "zxx", 22));
??list.add(new Person("002", "lsx", 25));
??perLstMap.put("one", list);
??
??list=new ArrayList<Person>();??
??list.add(new Person("003", "wlx", 26));
??list.add(new Person("004", "hzx", 28));
??perLstMap.put("two", list);

??return "result";
?}
}

2).struts.xml
<!DOCTYPE struts PUBLIC
??? "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
??? "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
?<package name="express" extends="struts-default" namespace="/exp">
??<action name="expressMap" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
?xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
?http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
?<filter>
??<filter-name>struts2</filter-name>
??<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
?</filter>
?<filter-mapping>
??<filter-name>struts2</filter-name>
??<url-pattern>/*</url-pattern>
?</filter-mapping>

?<welcome-file-list>
??<welcome-file>/first.jsp</welcome-file>
?</welcome-file-list>
</web-app>

4).strMap.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
?<body>
??<ul>
???<li>访问Map:<s:property value="strMap"/></li>
???<li>访问Map中某个元素:
????<s:property value="strMap.first"/> |
????<s:property value="strMap['second']"/> |
????<s:property value="strMap[\'third\']"/>
???</li>
???<li>访问Map中所有的key:<s:property value="strMap.keys"/></li>
???<li>访问Map中所有的value:<s:property value="strMap.values"/></li>
???<li>访问容器的大小:
????<s:property value="strMap.size()"/> |
????<s:property value="strMap.size"/>//这是map特别的地方
??? </li>
???
??? <li>迭代循环取值,最简单
???? <s:iterator value="strMap" id="entry">
????? ?<s:property value="#entry"/>{
????? ? key: <s:property value="key"/>?
????? value:<s:property value="value"/>}|
?????? </s:iterator>
????? </li>
?????
??? <li>迭代循环取值
???? <s:iterator value="strMap.keySet()" id="key">
????? ?<s:property value="key"/>或<s:property value="#key"/>:
?????????? <s:if test="strMap[#key]!=null">?
????????? ? <s:property value="strMap.get(#key)"/> |
?????????? </s:if>
?????? </s:iterator>
????? </li>
?????
????? <li>迭代循环取数组值
???? <s:iterator value="strMap" id="entry">
????? ?<s:property value="#entry"/>{
????? ?<s:property value="value[0]"/>?
????? ?<s:property value="value[1]"/>? |
????? ?<s:property value="value[2]"/>? }
?????? </s:iterator>
????? </li>
?????
????? <li>迭代循环取对象值,最直接:
???? ? <ul>
?????? <s:iterator value="perMap" id="entry">???
?????? ?<li>
????? ??? <s:property value="#entry"/>? {
???????? ID:<s:property value="value.ID"/>?
???????? Name:<s:property value="value.name"/>?
???????? Age:<s:property value="value.age"/>? }|
???????? </li>
?????? </s:iterator>
?????? </ul>
????? </li>
?????
????? <li>迭代循环取对象的属性值
??? <s:iterator value="perMap.keySet()" id="key">
????????? <s:property value="#key"/>:
?????????? <s:iterator value="perMap.get(#key)">
?????????????? <s:property value="ID"/>
?????????????? <s:property value="name"/>
?????????????? <s:property value="phone.name"/>
?????????? </s:iterator>|
????? </s:iterator>
????? </li>
?????
????? <li>稍复杂的迭代
?????? <s:iterator value="perLstMap" id="entry">??
??????? <s:set name="total" value="#entry.value.size"/>??
??????? <s:iterator value="#entry.value" status="s">??
?????????? <s:if test="#s.first">
?????????? ?<s:property value="#entry.key"/>:共${total}条
?????????? </s:if>?? {
?????????? <s:property value="ID"/>? |
?????????? <s:property value="name"/>?? |
?????????? <s:property value="age"/>
??????????? };
??????? </s:iterator>??
???? </s:iterator>?
???</li>
?? </ul>
?</body>
</html>

5).通过url:http://localhost:8080/struts2Jsp/exp/expressMap.action访问就会看到输出!

别的不多说,strMap.jsp已经把使用方法都写出来了!

读书人网 >开源软件

热点推荐