在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);
- %>
键值对遍历
- <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.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);
- %>
通过键获得列表值,并遍历列表
- <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、java map的便利取值
- Map<String,String> map = new HashMap<String,String>();
- map.put("key1", "value1");
- map.put("key2", "value2");
- Iterator<Entry<String,String>> iter = map.entrySet().iterator();
- while(iter.hasNext()) {
- Entry<String, String> entry = iter.next();
- System.out.println(entry.getKey()+"," + entry.getValue());
- }
- Set<Map.Entry<String, String>> entry = map.entrySet();
- for(Map.Entry<String, String> e : entry) {
- System.out.println(e.getKey()+"," + e.getValue());
- }
2、jstl的迭代取值
当forEach 的items属性中的表达式的值是java.util.Map时,则var中命名的变量的类型就是 java.util.Map.Entry。这时var=entry的话,用表达式${entry.key}取得键名。
用表达式${entry.value}得到每个entry的值。这是因为java.util.Map.Entry对象有getKey和getValue方法,表达式语言遵守JavaBean的命名约定
- <c:forEach items="${map}" var="entry">
- <c:out value="${entry.key}" />
- <c:out value="${entry.value}" />
- </c:forEach>
3、jstl根据key取值
一、如果知道key值,${map.key1}
二、如果key值是个变量, 则${map[key]}, 使用数组访问方式,同样也可以用在知道key ${map["key1"]}
相关推荐
下面我们将详细介绍如何使用JSTL EL表达式遍历Map集合。 ### JSTL EL表达式概述 JSTL(JavaServer Pages Standard Tag Library)是一个JSP标签库,它简化了JSP页面的开发,使得JSP能够更专注于显示逻辑,而不是...
- `<c:forEach>`遍历集合或数组。 - `<c:set>`设置变量。 - `<c:out>`用于安全地输出数据,防止XSS攻击。 **JSTL的XML标签库(XML Tags)**提供了处理XML文档的功能,如解析、转换和输出XML。这些标签可以帮助...
本篇将详细介绍如何在JSP中利用JSTL与EL表达式来访问和遍历Map集合。 首先,JSTL是一个标准的标签库,它提供了一系列预定义的标签,用于处理常见的任务,如迭代、条件判断、XML处理等,避免了在JSP页面中直接写Java...
4. **循环遍历**:`<c:forEach>`标签用于遍历集合或数组,显示列表数据。 5. **国际化**:`<fmt:message>`和`<fmt:setBundle>`标签用于处理多语言环境。 综上所述,EL表达式和JSTL是构建高效、可维护的Java Web应用...
**JSP的JSTL标签和EL表达式详解** JSP(JavaServer Pages)是一种动态网页技术,它允许开发者在HTML或XML文档中嵌入Java代码来生成动态内容。然而,传统的JSP脚本语法可能导致代码混乱且不易维护。为了解决这个问题...
然而,当涉及到从集合中获取数据时,单纯使用EL表达式是不够的,这时需要结合JSTL(JavaServer Pages Standard Tag Library,标准标签库)来实现。下面我们将详细讲解如何使用EL表达式配合JSTL从不同类型的集合中...
在JSP页面中,使用`<c:forEach>`标签迭代用户列表,通过EL表达式 `${user.name}` 和 `${user.age}` 输出用户的名字和年龄。 **总结** JSTL和EL是Java Web开发中不可或缺的工具,它们提高了代码的可读性和可维护性。...
**JSTL1.1及EL表达式**是Java服务器页面(JSP)开发中的重要组件,它们极大地提升了JSP的可读性和可维护性。本文将深入探讨这两个概念及其在实际开发中的应用。 **JSTL(JavaServer Pages Standard Tag Library)**...
JSTL的其他标签还包括`<c:forEach>`(循环遍历集合),`<c:if>`(条件判断),`<c:choose>`、`<c:when>`和`<c:otherwise>`(多条件选择),以及`<c:remove>`(删除作用域内的变量)等,它们共同构成了强大的服务器端...
`c:forEach`标签配合EL表达式可实现循环遍历集合。 **十、EL的函数库** JSTL(JavaServer Pages Standard Tag Library)提供了一系列EL函数,如fmt:formatNumber、fn:length等,用于格式化数据、计算长度等。 ...
《深入理解EL表达式与JSTL在企业实训中的应用》 在现代Web开发中,EL(Expression Language)表达式和JSTL(JavaServer Pages Standard Tag Library)是两个非常重要的技术,它们大大简化了Java Web应用的视图层...
EL表达式和JSTL标签库是Java Web开发中非常重要的两个知识点。EL表达式主要用于简化JSP页面中的数据访问,而JSTL(JavaServer Pages Standard Tag Library)标签库则提供了一系列标准的JSP标签,用于实现数据操作、...
比如,可以使用EL表达式在JSP页面上直接获取模型数据,然后通过JSTL的`c:forEach`标签遍历集合,或者使用`c:if`标签进行条件判断。这样,开发者可以避免在JSP页面上写大量的Java脚本,使页面更加专注于展示逻辑,...
EL表达式常常与JSTL(JavaServer Pages Standard Tag Library)一起使用,以实现更强大的功能。 ##### 1. JSTL简介 JSTL是一组标准标签库,用于简化JSP页面的开发工作,其中包括了条件判断、循环控制等功能。 ####...
例如,`<c:forEach>`标签是用于遍历集合的,它是JSTL中最常用的标签之一。 **2. `<c:forEach>`标签** `<c:forEach>`标签用于遍历任何可迭代的数据源,如ArrayList、LinkedList、HashMap等。其基本语法如下: ```...
- ****:用于遍历集合,如数组、列表、Map等。 - ****:用于设置变量。 - ****:用于安全地输出数据,防止XSS攻击。 - ****:用于格式化日期和时间。 - **<c:url> 和 **:用于创建和添加URL参数。 **4. 使用JSTL和...
4. `<c:forEach>`:用于循环遍历集合。例如,遍历数组或列表,`${users}" var="user">...</c:forEach>`。 5. `<c:import>`:动态引入资源,如HTML、JSP或Servlet。 6. `<c:redirect>`:用于页面重定向。 EL表达式还...
例如,`<c:forEach>`标签可以用来遍历集合,而`<fmt:formatDate>`则用于格式化日期。JSTL与EL表达式结合使用,可以让JSP页面更加整洁,逻辑更清晰。 这些jar包在Java开发中有着广泛的应用,尤其是在Web应用程序中。...