在JSTL EL中处理java.util.Map及嵌套List的情况

2016-02-19 09:47 2 1 收藏

今天图老师小编要跟大家分享在JSTL EL中处理java.util.Map及嵌套List的情况,精心挑选的过程简单易学,喜欢的朋友一起来学习吧!

【 tulaoshi.com - Web开发 】

在方括号中指定键,并将相应的值作为表达式的值返回。例如,表达式 ${map['key']} 返回与 map标识符所引用的 Map 中的 "key" 键相关联的值。
当forEach 的items属性中的表达式的值是java.util.Map时,则var中命名的变量的类型就是 java.util.Map.Entry。这时var=entry的话,用表达式${entry.key}取得键名。 用表达${entry.value}得到每个entry的值。这是因为java.util.Map.Entry对象有getKey和getValue方法,表达式语言遵守JavaBean的命名约定。
%
MapString,String map2 = new HashMap();
map2.put("a","hello world");
map2.put("b","this is map");
request.setAttribute("map2",map2);
%
br
键值对遍历br
c:forEach var="item" items="${map2}"
${item.key} ${item.value} br
/c:forEach
键遍历br
c:forEach var="item" items="${map2}"
${item.key}br
/c:forEach
值遍历br
c:forEach var="item" items="${map2}"
${item.value}br
/c:forEach
body
brbr
%
ListString list = new ArrayListString();
list.add("first");
list.add("second");
ListString list2 = new ArrayListString();
list2.add("aaaaaa");
list2.add("bbbbbb");
MapString,ListString map = new HashMap();
map.put("a",list);
map.put("b",list2);
request.setAttribute("map",map);
%
通过键获得列表值,并遍历列表br
c:forEach var="item" items="${map['a']}"
${item }br
/c:forEachbr
c:forEach var="item" items="${map['b']}"
${item }br
/c:forEach br
map中值为列表,直接遍历列表中的每一项br
c:forEach var="item" items="${map}"
c:forEach items="${item.value}" var="it"
${it }br
/c:forEach
/c:forEach

来源:https://www.tulaoshi.com/n/20160219/1592162.html

延伸阅读
一、简介 在Java Web应用程中,特别是网站开发中,我们有时候需要为应用程序增加一个入侵检测程序来防止恶意刷新的功能,防止非法用户不断的往Web应用中重复发送数据。当然,入侵检测可以用很多方法实现,包括软件、硬件防火墙,入侵检测的策略也很多。在这里我们主要介绍的是Java Web应用程序中通过软件的方式实现简单的入侵检测及防御。 ...
标签: Java JAVA基础
编者按: 程序中经常有这样的要求,整个程序运行时只有一个实例被使用。比如:数据库连接池,系统参数配置,Java API 中的 Runtime, Calendar ...如何实现这种需求成为一个值得讨论的问题。让我们来看看本文的例子。   A.常见的例子 以往的做法,是在程序的某个类里面(比如是 GlobalObject )...
List一个有序的集合,允许元素的重复;该实现不是同步的,如果多个线程访问一个List实例,而其中至少一个线程从结构上修改了表(添加或删除元素),那么它需要保持外部同步;一般通过对自然封装该列表的对象进行同步操作来完成,如:Collections.synchronizedList()来包装列表; ArrayListList接口的大小可变数组的实现,实现了所有可选列表操...
今天在部署一个webservices程序的时候,从页面获取数据的servlet出现了乱码问题,在servlet中我已经把request.setCharacterEncoding("GB2312");这段文字加入到代码中去,但是还是出现乱麻问题。  到网上找资料,如下:JAVA是Unicode编码,你先转换成ISO8859-1,然后再转换成GBK或是GB2312. java 代码 代码如下: request.setCharacterE...
大家好,众所周知,android里两个相同方向的ScrollView是不能嵌套的,那要是有这样的需求怎么办?(这个需求一般都是不懂android的人提出来的) 难道就真的不能嵌套吗?当然可以,只要你再写一个ScrollView,在里面做点脚,它就支持嵌套了。 目前做的这个只支持两个ScrollView嵌套,两个以上还有待改进,能套两个就已经能满足很多需求了,呵呵...

经验教程

65

收藏

73
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部