在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>
分享到:
相关推荐
1. **迭代Map集合** 当使用`<c:forEach>`标签时,如果`items`属性的值是一个`Map`对象,那么`var`属性定义的变量将会是一个`Map.Entry`对象。`Map.Entry`表示`Map`中的一个键值对。通过`entry.key`可以获取键(key...
Struts的增删改查分页 入门级的经典项目,带数据库的sql数据文件 包含JSTL读取MAP集合 批量删除 还有实现全选,反选, 只是前台的jsp页面未作页面校验,望各位输入到数据库的数据的合法性 保证下载 导入文件和...
这里主要关注的是如何利用JSTL中的`<c:forEach>`标签来遍历一个`java.util.Map`对象,并获取其中的键值对。 ### JSTL简介 JSTL是一组标准标签库,用于简化JavaServer Pages (JSP) 页面的开发工作。它提供了一系列...
本篇将详细介绍如何在JSP中利用JSTL与EL表达式来访问和遍历Map集合。 首先,JSTL是一个标准的标签库,它提供了一系列预定义的标签,用于处理常见的任务,如迭代、条件判断、XML处理等,避免了在JSP页面中直接写Java...
本文主要讲解了在Java中如何遍历Map集合,这是在日常编程中经常遇到的一个操作,特别是在需要处理键值对数据时。以下将详细介绍Map集合的遍历方法以及一些相关的知识点。 首先,Map是Java集合框架中的一个接口,它...
在JSTL中,处理集合数据如Map和List是非常常见的需求。本篇文档详细介绍了如何在JSTL中遍历Map和List,并通过EL表达式访问和取值。 首先,让我们了解一下JSTL的基本概念。JSTL定义了几种标签库,如核心标签库、格式...
如果不想导包,那么,我们需要自己写,于是,本人使用Java的集合框架来完成模拟jstl的Result接口的功能--返回一个Map对象,然后通过表的字段名作为键来从Map对象中取所对应的记录集合list. 学习对象:所有学习Java...
- **字符串操作**:`fn:length()`、`fn:substring()` 等函数提供了对字符串的各种操作。 #### 5. SQL标签库 - **数据库查询**:`<sql:update>`、`<sql:query>` 和 `<sql:exec>` 用于执行SQL语句。 ### JSTL实例...
下面我们将详细介绍如何使用JSTL EL表达式遍历Map集合。 ### JSTL EL表达式概述 JSTL(JavaServer Pages Standard Tag Library)是一个JSP标签库,它简化了JSP页面的开发,使得JSP能够更专注于显示逻辑,而不是...
其中,标签是JSTL中用于迭代集合对象的一个重要标签。本文将详细介绍如何在Javaweb中使用JSTL的标签循环List中的Map数据,并通过具体的代码示例解释其工作原理。 首先,我们考虑一个常见的场景:在后台代码中生成一...
在JSP中,我们经常需要遍历集合数据,如数组、列表或Map,以便在页面上展示。`jstl遍历`就是这样一个关键功能。 **1. JSTL核心库(Core Library)** JSTL的核心库主要包含用于控制流程、迭代、URL处理等的标签。...
- `<c:forEach>`:遍历集合,可以用于数组、列表、Map等。 - `<c:set>`:设置变量,相当于Java中的`var = value`。 - `<c:out>`:安全地输出变量,防止XSS攻击。 **6. 源码分析** JSTL的源码位于Apache Tomcat的`...
- `forEach`:用于遍历集合,如数组、列表、Map等。 - `if` 和 `choose/when/otherwise`:实现条件判断。 - `import`:用于引入外部资源。 - `out`:显示指定的变量或表达式的值。 - `redirect` 和 `forward`:...
- **迭代**:`<c:forEach>`可以方便地遍历集合,如数组、列表、Map等。 - **国际化**:`<fmt:formatNumber>`、`<fmt:message>`等标签用于数字格式化和多语言支持。 - **URL处理**:`<c:url>`和`<c:param>`可以构建...
在本压缩包中,"jstl 遍历_jstl遍历_源码.zip"可能包含了一些关于如何使用JSTL进行遍历操作的示例代码和源码。以下是对JSTL遍历功能的详细解释。 1. JSTL核心库(Core Library): JSTL的核心库提供了用于处理常见...
4. **迭代标签**:`<c:forEach>`用于遍历集合,如数组、列表或Map。 三、JSTL与EL的结合使用 1. **EL表达式**:JSTL常与EL(Expression Language)配合使用,EL简化了获取和设置JavaBean属性的过程,使得页面更加...
- **迭代标签**: 如`<c:forEach>`,可用于遍历数组、集合、Map等,例如: ```jsp ${list}" var="item"> ${item.name} ``` - **条件标签**: 如`<c:if>`和`<c:choose>`,用于条件判断,例如: ```jsp ${...
1. **c:forEach**:用于循环遍历集合、数组或Map。 2. **c:if**和**c:choose**:用于条件判断,类似于Java中的if...else语句。 3. **c:set**:设置变量。 4. **c:out**:安全地输出值,防止XSS攻击。 5. **c:url**和...
- `<c:forEach>`:遍历集合,如数组、列表或Map。 - `<c:remove>`:从指定的作用域中移除一个变量。 - `<c:redirect>`和`<c:forward>`:用于页面间的跳转和转发。 2. **JSTL函数库** (fn tags): - 提供了一...
在JSP页面中,你可以使用这些标签来实现逻辑控制和数据操作,比如在示例的`first_jstl.jsp`中,设置了变量`userName`和`age`,并用`<c:out>`输出变量值,用`<c:forEach>`进行迭代,以及用`<c:if>`进行条件判断。...