//第一种结构Map<K,<List<xxx>>>
<body>
<%
//显示map<String,List<Object>>
Map map = new HashMap<String,List<String>>();
List list = new ArrayList<String>();
list.add("list1-1");
list.add("list1-2");
list.add("list1-3"); List list2 = new ArrayList<String>();
list2.add("list2-1");
list2.add("list2-2");
list2.add("list2-3");
map.put("a",list);
map.put("b",list2); // ActionContext.getContext().getValueStack().
request.setAttribute("map1",map); %>
<%out.print("helloworld用于测试map和list值栈的遍历 "); %>
<s:iterator value="#request.map1" var="list">
map_key : <s:property value="#list.key"/></br>
<s:iterator value="#list.value" var="current">
list值:<s:property value="current"/></br>
</s:iterator>
</s:iterator> </body> //打印结果
helloworld用于测试map和list值栈的遍历 map_key : b
list值:list2-1
list值:list2-2
list值:list2-3
map_key : a
list值:list1-1
list值:list1-2
list值:list1-3
//第二种结构 List<Map<K,V>> 

  <%
List list = new ArrayList<Map<String,String>>();
Map map1 = new HashMap<String,String>();
map1.put("a","map1-1");
map1.put("b","map1-2"); Map map2 = new HashMap<String,String>();
map2.put("a","map2-1");
map2.put("b","map2-2");
map2.put("c","map2-3");
list.add(map1);
list.add(map2); //放到root栈里面而非map栈中
// ActionContext.getContext().getValueStack().push(list);
request.setAttribute("list",list); %> <s:debug></s:debug>
<%out.print("helloworld用于测试map和list值栈的遍历 "); %>
<s:iterator value="#request.list" var="list1"></br>
<s:iterator value="#list1" var="map" ></br>
<s:property value="#map.key"/>
<s:property value="#map.value"/>
</s:iterator> //打印结果
helloworld用于测试map和list值栈的遍历  b map1-2 
a map1-1  b map2-2 
c map2-3 
a map2-1

关于jsp利用EL和struts2标签来遍历ValueStack的东东 ------> List<Map<K,V>> 以及 Map<K,<List<xxx>>> 的结构遍历的更多相关文章

  1. struts2之OGNL和struts2标签库和ValueStack对象

    OGNL简介: (1)OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目.  struts2框架默认就支持Ognl表达式语言(所以 ...

  2. jsp之el表达式jstl标签

    不管是el表达式还是jstl标签最终的目的都是要消除jsp中的java代码,当然是消除显式的java代码 el表达式的出现是为了简化jsp中读取数据并写入页面的操作. el表达式的功能不多,也很好记 ...

  3. jsp页面,使用Struts2标签,传递和获取Action类里的参数,注意事项。<s:a action><s:iterator><s:param>ognl表达式

    在编写SSH2项目的时候,除了使用<s:form>表单标签向Action类跳转并传递参数之外,很更多时候还需要用到<s:a action="XXX.action" ...

  4. struts2标签库使用小结

    之前的demo中用了一些struts2标签,用的是struts2.2.1.1. Struts2的标签常常和OGNL(图对象导航语言)一起使用.有几点总结如下: [引用请注明出处:http://blog ...

  5. 【Struts2】Ognl与ValueStack

    一.OGNL 1.1 概述 1.2 OGNL 五大类功能 1.3 演示 二.ValueStack 2.1 概述 2.2 ValueStack结构 2.3 结论 2.3 一些问题 三.OGNL表达式常见 ...

  6. JSTL标签,EL表达式,OGNL表达式,struts2标签 汇总

    一下纯属个人总结摘抄,总结一起方便查看,解决疑问,有遗漏或错误,还请指出.       1,JSTL标签总结: a).JSTL标签有什么用?          JSTL是由JCP(Java Commu ...

  7. [Java] JSP笔记 - EL、JSTL 常用标签

    一. 什么是 EL 语言 表达式语言(EL)是 JSP 2.0 引入的一种计算和输出 Java 对象的简单语言. 二.EL 语言的作用 为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMASc ...

  8. jsp学习---mvc模式介绍和el表达式,jstl标签库的使用入门

    一.mvc模式介绍 下图是常用的mvc分层模式: 项目中的包命名规则,一般如下: com.amos.domain 封装JavaBean,一般我喜欢用model命名这个包com.amos.dao 封装d ...

  9. 11、Jsp加强/EL表达式/jsp标签

    1 Jsp基础回顾 Jsp基础 1)Jsp的执行过程 tomcat服务器完成:jsp文件->翻译成java文件->编译成class字节码文件-> 构造类对象-> 调用方法 to ...

随机推荐

  1. [读]剑指offer

    研二的开始找工作了,首先祝愿他们都能够找到自己满意的工作.看着他们的身影,自问明年自己这个时候是否可以从容面对呢?心虚不已,赶紧从老严那儿讨来一本<剑指offer>.在此顺便将自己做题所想 ...

  2. JAVA动态加载JAR包的实现

    如何动态的加载这些驱动!不可能把所有的数据库驱动都集成到JAR包中吧?!于是动态加载驱动的JAR包就产生了!其实这些在做系统基础代码时,经常用到,只是一般我们没有机会去搞而已. 动态加载JAR包,使用 ...

  3. hdu 4027 Can you answer these queries? 线段树

    线段树+剪枝优化!!! 代码如下: #include<iostream> #include<stdio.h> #include<algorithm> #includ ...

  4. node操作MongoDB数据库之插入

    在上一篇中我们介绍了MongoDB的安装与配置,接下来的我们来看看在node中怎样操作MongoDB数据库. 在操作数据库之前,首先应该像关系型数据库一样建个数据库把... 启动数据库 利用命令提示符 ...

  5. hadoop 2.0 native

    1.安装protobuf,参照http://wiki.apache.org/hadoop/HowToContribute 安装java模块 在java目录mvn install 2.配置protobu ...

  6. mysql 常用命令(备忘)

    1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:2.创建一个数据库MYSQLDATA mysql> CREATE DATABASE ...

  7. Js 日期操作

    Js获取当前日期时间及其它操作var myDate = new Date();myDate.getYear();        //获取当前年份(2位)myDate.getFullYear();    ...

  8. java socket实现全双工通信

    java socket实现全双工通信 单工.半双工和全双工的定义 如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工. 如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方 ...

  9. Win XP 如何禁用屏保

    如果你试过 “在桌面空白处点击右键-[属性]-[屏幕保护程序],选择[无],点击[确定]”后,当时是可以去掉屏保.但如果重启计算机或者从待机状态唤醒后,屏保依然会出现,那么你可以试试下面的方法. 首先 ...

  10. 12.allegro环境设置[原创]

    一.菜单简介 --- 分割电源,分割平面 ------- ------- ------- ----- --------- ---- --------------- ----------------- ...