一.Action中的代码:MapAction.java
package com.zx.demo.action;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.opensymphony.xwork2.ActionSupport;
import com.zx.demo.model.Product;
import com.zx.demo.model.Student;
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;
//这里省略get set方法
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 Long(1),"20034140201","张三1","男",25));
studentMap.put("student2",new Student(new Long(2),"20034140202","张三2","女",26));
studentMap.put("student3",new Student(new Long(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 Long(1),"20034140201","张三1","男",25));
list1.add(new Student(new Long(2),"20034140202","张三2","男",25));
list1.add(new Student(new Long(3),"20034140203","张三3","男",25));
listMap.put("class1", list1);
List<Student> list2=new ArrayList<Student>();
list2.add(new Student(new Long(1),"20034140301","李四1","男",20));
list2.add(new Student(new Long(2),"20034140302","李四2","男",21));
list2.add(new Student(new Long(3),"20034140303","李四3","男",22));
list2.add(new Student(new Long(4),"20034140304","李四4","男",23));
listMap.put("class2", list2);
return SUCCESS;
}
}
二.前端测试页面:testMap.jsp
Java代码
<%@ page
contentType="text/html;charset=UTF-8"
%>
<%@ taglib prefix="s"
uri="/struts-tags" %>
<html>
<head>
<title>struts2中的map遍历总结</title>
</head>
<body>
<b>1.map中的key为String,value为String字符串</b><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>
******************************************<br>
<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>
******************************************<br>
<b>2.map中的key为String,value为Student对象</b>
<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>
<p>
<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>
******************************************<br>
<b>3.map中的key为String,value为String数组</b>
<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>
<p>
<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>
******************************************<br>
<b>4.map中的key为String,value为list集合</b>
<s:iterator value="listMap" id="column">
<s:set name="total" value="#column.value.size"/>
<s:iterator value="#column.value" status="s">
<tr>
<s:if test="#s.first">
<td rowspan="${total}">
<s:property value="#column.key"/>
</td>
</s:if>
<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>
附:map的类型为Map<Integer,List(Menu)>在前端遍历,session.powerList存放的类型是:List(Menu)
<s:iterator value="map" id="mapList">
<s:if test="#mapList.key==0"><!-key为0的是父级菜单->
<s:iterator value="#mapList.value" id="map">
<li class="current"><!--遍历父级菜单,取得其名字-->
<b><s:property value="#map.menuName" /></b></a>
<ul>
<s:iterator value="#session.powerList" id="power">
<!--遍历父级菜单下的所用子菜单-->
<s:if test="#power.menuFatherId==#map.menuId">
<li><a onClick="funFrame('admin/<s:property value="#power.menuUrl" />')" ><s:property value="#power.menuName" /></a>
</li>
</s:if>
</s:iterator>
</ul>
</li>
</s:iterator>
</s:if>
</s:iterator>
总结
以上就是本文关于Struts2 使用OGNL遍历map方法详解的全部内容,希望对大家有所帮助。有兴趣的朋友可以参阅:OGNL表达式基本语法与用法详解 Struts2 通过ognl表达式实现投影 Struts2 OGNL表达式实例详解等。感谢大家对本站的支持。
# struts2
# 遍历map
# map的遍历方法
# Struts2 通过ognl表达式实现投影
# Struts2修改上传文件大小限制方法解析
# AjaxFileUpload+Struts2实现多文件上传功能
# struts2开发流程及详细配置
# struts2静态资源映射代码示例
# 遍历
# 李四
# 的是
# 有兴趣
# 感谢大家
# leejie
# male
# 张三
# Long
# huanglie
# add
# lixiaoning
# util
# ArrayList
# action
# import
# Map
# opensymphony
# HashMap
# List
相关文章:
免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?
网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?
黑客如何利用漏洞与弱口令入侵网站服务器?
济南企业网站制作公司,济南社保单位网上缴费步骤?
建站上市公司网站建设方案与SEO优化服务定制指南
Android使用GridView实现日历的简单功能
建站之星安装提示数据库无法连接如何解决?
*服务器网站为何频现安全漏洞?
网站制作知乎推荐,想做自己的网站用什么工具比较好?
如何高效生成建站之星成品网站源码?
在线教育网站制作平台,山西立德教育官网?
C++时间戳转换成日期时间的步骤和示例代码
建站之星安装后界面空白如何解决?
建站主机与虚拟主机有何区别?如何选择最优方案?
建站主机SSH密钥生成步骤及常见问题解答?
如何在IIS7中新建站点?详细步骤解析
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
如何用免费手机建站系统零基础打造专业网站?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
制作企业网站建设方案,怎样建设一个公司网站?
网页设计网站制作软件,microsoft office哪个可以创建网页?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
金*站制作公司有哪些,金华教育集团官网?
详解jQuery停止动画——stop()方法的使用
如何用5美元大硬盘VPS安全高效搭建个人网站?
网站专业制作公司有哪些,做一个公司网站要多少钱?
怎么将XML数据可视化 D3.js加载XML
建站之星后台管理如何实现高效配置?
建站之星如何快速解决建站难题?
免费制作小说封面的网站有哪些,怎么接网站批量的封面单?
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
清除minerd进程的简单方法
详解jQuery中基本的动画方法
创业网站制作流程,创业网站可靠吗?
,交易猫的商品怎么发布到网站上去?
如何配置WinSCP新建站点的密钥验证步骤?
如何在腾讯云服务器快速搭建个人网站?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
如何配置IIS站点权限与局域网访问?
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
家具网站制作软件,家具厂怎么跑业务?
公司网站制作价格怎么算,公司办个官网需要多少钱?
定制建站平台哪家好?企业官网搭建与快速建站方案推荐
黑客如何通过漏洞一步步攻陷网站服务器?
名字制作网站免费,所有小说网站的名字?
如何快速登录WAP自助建站平台?
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
如何在服务器上三步完成建站并提升流量?
如何注册花生壳免费域名并搭建个人网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。