在JSTL EL中处理java.util.Map,及嵌套List的情况
在 EL 语言中,方括号运算符是检索数组和集合元素的得力助手。对于实现了 java.util.Map 接口的集合来说,更是如此。使用方括号运算符,你可以通过关联的键来查找映射中的值。
例如,表达式 ${map['key']} 能够轻松返回与 map 标识符关联的 Map 中 "key" 键的值。当在 forEach 的 items 属性中的表达式的值是 java.util.Map 时,那么命名的变量的类型就是 java.util.Map.Entry。如果变量命名为 entry,那么表达式 ${entry.key} 和 ${entry.value} 分别可以获取每个 entry 的键名和值。这是因为在 EL 语言中,java.util.Map.Entry 对象遵循 JavaBean 的命名约定,拥有 getKey 和 getValue 方法。
让我们看一个具体的例子:
我们创建一个名为 map2 的 Map 对象,并向其中添加两个键值对:
```java
<% Map
map2.put("a","hello world");
map2.put("b","this is map");
request.setAttribute("map2",map2); %>
```
然后,我们可以通过 EL 和 JSTL 标签遍历这个 Map 的键值对:
```jsp
${item.key} > ${item.value}
```
同样地,我们可以分别遍历键和值:
```jsp
${item.key}
${item.value}
```
如果 Map 中的值是列表,我们可以通过键获取列表值并遍历列表中的每一项。例如:
```java
<% List
list.add("first");
list.add("second");
List
list2.add("aaaaaa");
list2.add("bbbbbb");
Map
map.put("a",list);
map.put("b",list2);
request.setAttribute("map",map); %>
```
然后,我们可以这样遍历通过键 'a' 和 'b' 获取的列表值:
```jsp
${item}
${item}
```
如果 Map 中的值是另一个 Map,且该 Map 的值是列表,我们可以先遍历外层 Map,再遍历内层列表中的每一项:
```jsp
编程语言
- 在JSTL EL中处理java.util.Map,及嵌套List的情况
- 利用transition实现文字上下抖动的效果
- jQuery实现对无序列表的排序功能(附demo源码下载
- asp.net 全部选中与取消操作,选中后的删除(ajax)实
- Yii2使用Bootbox插件实现自定义弹窗
- 浅析JS中回调函数及用法
- javascript html5摇一摇功能的实现
- PHP+MYSQL实现读写分离简单实战
- thinkphp微信开发(消息加密解密)
- jQuery实现带有动画效果的回到顶部和底部代码
- 更高效的使用JQuery 这里总结了8个小技巧
- String.indexOf 方法介绍
- javascript 中模板方法单例的实现方法
- 使用php判断网页是否gzip压缩
- PHP标准库 (SPL)——Countable用法示例
- Yii rules常用规则示例