以下代码无效:
<c:forEach items="${orderNumByDepartment}" var="map2">
<c:forEach items="${map2.value }" var="foodName2foodNum">
<tr>
<td>${map2.key }</td>
<td>${foodName2foodNum.key }</td>
<td>${foodName2foodNum.value }</td>
</tr>
</c:forEach>
</c:forEach>
orderNumByDepartment is Map<String, List<Map<String, Integer>>> type.
你能告诉我为什么我不能得到第二和第三个值(foodName2foodNum.key / foodName2foodNum.value)
答案 0 :(得分:1)
我认为Map<String, List<Map<String, Integer>>>
应为Map<String, Map<String, Integer>>
,因为您希望foodName2foodNum
成为地图,而不是地图列表,map2
则为Map.Entry<String, Map<String, Integer>>
类型}。
答案 1 :(得分:1)
foodName2foodNum是整个地图而不是单个地图条目,因此没有键和值。 如果需要字符串键和Map条目中的Integer值,请尝试在map2.value循环中创建另一个c:forEach循环。例如。
<c:forEach items="${foodName2foodNum}" var="thirdLoopVar">
<p>${thirdLoopVar.key}</p>
<p>${thirdLoopVar.value}</p>
</c:forEach>