在EL中,方括号运算符用来检索数组和集合的元素。对于实现 java.util.Map 接口的集合,方括号运算符使用关联的键查找存储在映射中的值。
在方括号中指定键,并将相应的值作为表达式的值返回。例如,表达式 ${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的命名约定。
- <%
- Map<String,String> map2 = new HashMap();
- map2.put("a","hello world");
- map2.put("b","this is map");
- request.setAttribute("map2",map2);
- %>
<%
Map<String,String> map2 = new HashMap();
map2.put("a","hello world");
map2.put("b","this is map");
request.setAttribute("map2",map2);
%>
键值对遍历
- <c:forEach var="item" items="${map2}">
- ${item.key} > ${item.value} <br>
- </c:forEach>
<c:forEach var="item" items="${map2}">
${item.key} > ${item.value} <br>
</c:forEach>
键遍历
- <c:forEach var="item" items="${map2}">
- ${item.key}<br>
- </c:forEach>
<c:forEach var="item" items="${map2}">
${item.key}<br>
</c:forEach>
值遍历
- <c:forEach var="item" items="${map2}">
- ${item.value}<br>
- </c:forEach>
- <body>
<c:forEach var="item" items="${map2}">
${item.value}<br>
</c:forEach>
<body>
- <%
- List<String> list = new ArrayList<String>();
- list.add("first");
- list.add("second");
- List<String> list2 = new ArrayList<String>();
- list2.add("aaaaaa");
- list2.add("bbbbbb");
- Map<String,List<String>> map = new HashMap();
- map.put("a",list);
- map.put("b",list2);
- request.setAttribute("map",map);
- %>
<%
List<String> list = new ArrayList<String>();
list.add("first");
list.add("second");
List<String> list2 = new ArrayList<String>();
list2.add("aaaaaa");
list2.add("bbbbbb");
Map<String,List<String>> map = new HashMap();
map.put("a",list);
map.put("b",list2);
request.setAttribute("map",map);
%>
通过键获得列表值,并遍历列表
- <c:forEach var="item" items="${map['a']}">
- ${item }<br>
- </c:forEach><br>
- <c:forEach var="item" items="${map['b']}">
- ${item }<br>
- </c:forEach>
<c:forEach var="item" items="${map['a']}">
${item }<br>
</c:forEach><br>
<c:forEach var="item" items="${map['b']}">
${item }<br>
</c:forEach>
map中值为列表,直接遍历列表中的每一项
- <c:forEach var="item" items="${map}">
- <c:forEach items="${item.value}" var="it">
- ${it }<br>
- </c:forEach>
- </c:forEach>
分享到:
相关推荐
Struts的增删改查分页 入门级的经典项目,带数据库的sql数据文件 包含JSTL读取MAP集合 批量删除 还有实现全选,反选, 只是前台的jsp页面未作页面校验,望各位输入到数据库的数据的合法性 保证下载 导入文件和...
如果不想导包,那么,我们需要自己写,于是,本人使用Java的集合框架来完成模拟jstl的Result接口的功能--返回一个Map对象,然后通过表的字段名作为键来从Map对象中取所对应的记录集合list. 学习对象:所有学习Java...
NULL 博文链接:https://yelangking.iteye.com/blog/2042913
在EL中,方括号运算符用来检索数组和集合的元素。对于实现 java.util.Map 接口的集合,方括号运算符使用关联的键查找存储在映射中的值。
如何判断list中是否包含某个值, 很遗憾,contains是不行的,只能穷举了 ${sessionScope.SelectDeviceIdsList} var=map> ${map.key> <c:set var=iscontain value=true /
恭喜你,环境搭建配置成功,接下来第二章,将讲述基于接口的操作方式,增删改查。 整个工程目录结构如下: 除非申明,文章均为一号门原创,转载请注明本文地址,谢谢! mybatis实战教程(mybatis in action)之二:以...
defaultValue,第一种用法不给缺失的变量指定默认值,表明默认值是空字符串,长度为0的集合,或者长度为0的Map对象. 使用!指定默认值时,并不要求默认值的类型和变量类型相同.使用??运算符非常简单,它总是返回一个布尔值...
集合 3.3.3.5. Nulls 3.3.3.6. XML-based configuration metadata shortcuts 3.3.3.7. 组合属性名称 3.3.4. 使用depends-on 3.3.5. 延迟初始化bean 3.3.6. 自动装配(autowire)协作者 3.3.6.1. 设置Bean使自动装配...
{12.11}集合操作}{165}{section.12.11} {12.11.1}union}{166}{subsection.12.11.1} {12.11.2}intersect与minus}{166}{subsection.12.11.2} {12.11.3}join}{166}{subsection.12.11.3} {12.11.3.1}cross join}{...
1. 介绍.........................................................................................................18 1.1. 关于本书..........................................................................
1. 介绍.........................................................................................................18 1.1. 关于本书...........................................................................