jstl中foreach遍历list中map的问题
时间: 2024-03-18 14:40:31 浏览: 61
在JSTL中遍历List中的Map元素,可以使用JSTL的forEach标签和Map的entrySet()方法。具体步骤如下:
1. 在JSP页面中导入JSTL标签库。
```
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
```
2. 定义List和Map对象,并将Map对象添加到List中。
```
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map1 = new HashMap<String, Object>();
map1.put("name", "张三");
map1.put("age", 18);
list.add(map1);
Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("name", "李四");
map2.put("age", 20);
list.add(map2);
```
3. 使用forEach标签遍历List中每个Map元素的entrySet()。
```
<c:forEach items="${list}" var="map">
<c:forEach items="${map.entrySet()}" var="entry">
Key: ${entry.key}, Value: ${entry.value}
</c:forEach>
</c:forEach>
```
在上面的代码中,第一个forEach标签用于遍历List中的每个Map元素,将当前Map元素存储在变量map中。第二个forEach标签使用entrySet()方法遍历当前Map中的每个键值对,将当前键值对存储在变量entry中。最后,输出每个键值对的键和值。
注意:在使用JSTL的forEach标签时,需要保证List和Map对象不为null,并且List对象中至少包含一个Map元素。
阅读全文