全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Struts2 使用OGNL遍历map方法详解

一.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小时内与您取得联系。