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


    关联的键查找存储在映射中的值。
    在方括号中指定键,并将相应的值作为表达式的值返回。例如,表达式 ${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); 
    %> 
    <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> 
    <br><br> 
    <% 
    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); 
    %> 
    通过键获得列表值,并遍历列表<br> 
    <c:forEach var="item" items="${map['a']}"> 
    ${item }<br> 
    </c:forEach><br> 
    <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>
  • 相关阅读:
    Vue--会员管理列表页面,抽取BASE_URL
    Vue--系统权限拦截
    写译-冲刺班
    看到一篇有收获的博文【关于外挂生涯的忠告】(转载)
    笔记管理-vscode-印象笔记-git-博客园
    1.4条件和循环
    1.3撰写表达式
    1.2对象定义与初始化
    1.1如何写一个c++程序
    send()函数 recv()函数
  • 原文地址:https://www.cnblogs.com/fxfly/p/4661833.html
Copyright © 2020-2023  润新知