`

jstl EL表达式遍历集合

阅读更多

在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的命名约定。

 Java代码  收藏代码

  1. <%   
  2. Map<String,String> map2 = new HashMap();   
  3. map2.put("a","hello world");   
  4. map2.put("b","this is map");   
  5. request.setAttribute("map2",map2);   
  6. %>   

  键值对遍历

 Java代码  收藏代码

  1. <c:forEach var="item" items="${map2}">   
  2. ${item.key} > ${item.value} <br>   
  3. </c:forEach>  

 

 键遍历

 Java代码  收藏代码

  1. <c:forEach var="item" items="${map2}">   
  2. ${item.key}<br>   
  3. </c:forEach>  

 

 值遍历

Java代码  收藏代码
  1. <c:forEach var="item" items="${map2}">   
  2. ${item.value}<br>   
  3. </c:forEach>   
  4. <body>   

 

Java代码  收藏代码
  1. <%   
  2. List<String> list = new ArrayList<String>();   
  3. list.add("first");   
  4. list.add("second");   
  5. List<String> list2 = new ArrayList<String>();   
  6. list2.add("aaaaaa");   
  7. list2.add("bbbbbb");   
  8. Map<String,List<String>> map = new HashMap();   
  9. map.put("a",list);   
  10. map.put("b",list2);   
  11. request.setAttribute("map",map);   
  12. %>   

 

通过键获得列表值,并遍历列表

 

Java代码  收藏代码
  1. <c:forEach var="item" items="${map['a']}">   
  2. ${item }<br>   
  3. </c:forEach><br>   
  4. <c:forEach var="item" items="${map['b']}">   
  5. ${item }<br>   
  6. </c:forEach>  

 map中值为列表,直接遍历列表中的每一项

 

Java代码  收藏代码
  1. <c:forEach var="item" items="${map}">   
  2. <c:forEach items="${item.value}" var="it">   
  3. ${it }<br>   
  4. </c:forEach>   
  5. </c:forEach>  

 ----------------------------------------------------------------------------------------------

1、java map的便利取值

Java代码  收藏代码
  1. Map<String,String> map = new HashMap<String,String>();  
  2. map.put("key1""value1");  
  3. map.put("key2""value2");  
  4.   
  5. Iterator<Entry<String,String>> iter = map.entrySet().iterator();  
  6. while(iter.hasNext()) {  
  7.     Entry<String, String> entry = iter.next();  
  8.     System.out.println(entry.getKey()+"," + entry.getValue());  
  9. }  
  10.   
  11. Set<Map.Entry<String, String>> entry  = map.entrySet();  
  12. for(Map.Entry<String, String> e : entry) {  
  13.     System.out.println(e.getKey()+"," + e.getValue());  
  14. }  
  15.           

 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的命名约定

Java代码  收藏代码
  1. <c:forEach items="${map}" var="entry">    
  2.    <c:out value="${entry.key}" />    
  3.    <c:out value="${entry.value}" />    
  4. </c:forEach>   

 3、jstl根据key取值

 

一、如果知道key值,${map.key1}

二、如果key值是个变量, 则${map[key]}, 使用数组访问方式,同样也可以用在知道key   ${map["key1"]}

分享到:
评论

相关推荐

    jstl EL表达式遍历Map的方法

    下面我们将详细介绍如何使用JSTL EL表达式遍历Map集合。 ### JSTL EL表达式概述 JSTL(JavaServer Pages Standard Tag Library)是一个JSP标签库,它简化了JSP页面的开发,使得JSP能够更专注于显示逻辑,而不是...

    JSTL,EL表达式语法简介

    - `&lt;c:forEach&gt;`遍历集合或数组。 - `&lt;c:set&gt;`设置变量。 - `&lt;c:out&gt;`用于安全地输出数据,防止XSS攻击。 **JSTL的XML标签库(XML Tags)**提供了处理XML文档的功能,如解析、转换和输出XML。这些标签可以帮助...

    在jsp中使用JSTL跟El表达式访问和遍历Map集合

    本篇将详细介绍如何在JSP中利用JSTL与EL表达式来访问和遍历Map集合。 首先,JSTL是一个标准的标签库,它提供了一系列预定义的标签,用于处理常见的任务,如迭代、条件判断、XML处理等,避免了在JSP页面中直接写Java...

    el表达式EL表达式言语和JSTL

    4. **循环遍历**:`&lt;c:forEach&gt;`标签用于遍历集合或数组,显示列表数据。 5. **国际化**:`&lt;fmt:message&gt;`和`&lt;fmt:setBundle&gt;`标签用于处理多语言环境。 综上所述,EL表达式和JSTL是构建高效、可维护的Java Web应用...

    JSP的JSTL标签和EL表达式大全

    **JSP的JSTL标签和EL表达式详解** JSP(JavaServer Pages)是一种动态网页技术,它允许开发者在HTML或XML文档中嵌入Java代码来生成动态内容。然而,传统的JSP脚本语法可能导致代码混乱且不易维护。为了解决这个问题...

    使用EL表达式取集合中的数据

    然而,当涉及到从集合中获取数据时,单纯使用EL表达式是不够的,这时需要结合JSTL(JavaServer Pages Standard Tag Library,标准标签库)来实现。下面我们将详细讲解如何使用EL表达式配合JSTL从不同类型的集合中...

    JSTL和EL表达式源码.rar

    在JSP页面中,使用`&lt;c:forEach&gt;`标签迭代用户列表,通过EL表达式 `${user.name}` 和 `${user.age}` 输出用户的名字和年龄。 **总结** JSTL和EL是Java Web开发中不可或缺的工具,它们提高了代码的可读性和可维护性。...

    JSTL1.1及EL表达式中文参考手册

    **JSTL1.1及EL表达式**是Java服务器页面(JSP)开发中的重要组件,它们极大地提升了JSP的可读性和可维护性。本文将深入探讨这两个概念及其在实际开发中的应用。 **JSTL(JavaServer Pages Standard Tag Library)**...

    JSTL和EL表达式的部门例子

    JSTL的其他标签还包括`&lt;c:forEach&gt;`(循环遍历集合),`&lt;c:if&gt;`(条件判断),`&lt;c:choose&gt;`、`&lt;c:when&gt;`和`&lt;c:otherwise&gt;`(多条件选择),以及`&lt;c:remove&gt;`(删除作用域内的变量)等,它们共同构成了强大的服务器端...

    EL表达式全解语法中文技术文档

    `c:forEach`标签配合EL表达式可实现循环遍历集合。 **十、EL的函数库** JSTL(JavaServer Pages Standard Tag Library)提供了一系列EL函数,如fmt:formatNumber、fn:length等,用于格式化数据、计算长度等。 ...

    el表达式+JSTL.rar

    《深入理解EL表达式与JSTL在企业实训中的应用》 在现代Web开发中,EL(Expression Language)表达式和JSTL(JavaServer Pages Standard Tag Library)是两个非常重要的技术,它们大大简化了Java Web应用的视图层...

    09_尚硅谷_EL表达式&JSTL标签库_王振国 - 课堂笔记.pdf

    EL表达式和JSTL标签库是Java Web开发中非常重要的两个知识点。EL表达式主要用于简化JSP页面中的数据访问,而JSTL(JavaServer Pages Standard Tag Library)标签库则提供了一系列标准的JSP标签,用于实现数据操作、...

    EL表达式&JSTL;标签库_jar包

    比如,可以使用EL表达式在JSP页面上直接获取模型数据,然后通过JSTL的`c:forEach`标签遍历集合,或者使用`c:if`标签进行条件判断。这样,开发者可以避免在JSP页面上写大量的Java脚本,使页面更加专注于展示逻辑,...

    EL表达式的使用方法

    EL表达式常常与JSTL(JavaServer Pages Standard Tag Library)一起使用,以实现更强大的功能。 ##### 1. JSTL简介 JSTL是一组标准标签库,用于简化JSP页面的开发工作,其中包括了条件判断、循环控制等功能。 ####...

    jstl 遍历_jstl遍历_

    例如,`&lt;c:forEach&gt;`标签是用于遍历集合的,它是JSTL中最常用的标签之一。 **2. `&lt;c:forEach&gt;`标签** `&lt;c:forEach&gt;`标签用于遍历任何可迭代的数据源,如ArrayList、LinkedList、HashMap等。其基本语法如下: ```...

    jstl两个核心包和jstl标签库EL表达式详解

    - ****:用于遍历集合,如数组、列表、Map等。 - ****:用于设置变量。 - ****:用于安全地输出数据,防止XSS攻击。 - ****:用于格式化日期和时间。 - **&lt;c:url&gt; 和 **:用于创建和添加URL参数。 **4. 使用JSTL和...

    EL表达式详解教程.zip

    4. `&lt;c:forEach&gt;`:用于循环遍历集合。例如,遍历数组或列表,`${users}" var="user"&gt;...&lt;/c:forEach&gt;`。 5. `&lt;c:import&gt;`:动态引入资源,如HTML、JSP或Servlet。 6. `&lt;c:redirect&gt;`:用于页面重定向。 EL表达式还...

    el表达式,json转换和redis使用所需jar包

    例如,`&lt;c:forEach&gt;`标签可以用来遍历集合,而`&lt;fmt:formatDate&gt;`则用于格式化日期。JSTL与EL表达式结合使用,可以让JSP页面更加整洁,逻辑更清晰。 这些jar包在Java开发中有着广泛的应用,尤其是在Web应用程序中。...

Global site tag (gtag.js) - Google Analytics