今天在做项目的时候需要使用List<Map>集合来封装数据,通常在Jsp页面中获取Map集合的值都是已知的,但是这次不同,这次的Map集合中的Key值不单单是一个字符串,而是一个实体类集合,需要从List<Map>中获取到这个实体类,也就是key值。
经过研究,获得的写法如下:
<c:forEach items="${shopCar }" var="s">
<!-- 需要遍历Map集合,而本来是List<Map>集合,所以需要第二层循环 -->
<c:forEach items="${s }" var="s1">
<tr>
<td>${s1.key.id}</td>
<td>${s1.key.name}</td>
<td>${s1.key.price}</td>
<td>${s1.value}</td>
<td>${s1.value * s1.key.price}</td>
</tr>
</c:forEach>
</c:forEach>
主要是用到List<Map>中的Map集合的map.key获取值
${map.key}获得Key值
${map.key.name} 由于key值是实体类,所以可以获得实体类中的name属性。
${map.value}获得Value值。
作者:林子淳