以下代码不起作用:
<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)
最佳答案
foodName2foodNum是整个地图,而不是单个地图条目,因此没有键和值。
如果要从Map条目中获取String键和Integer值,请尝试在map2.value循环内创建另一个c:forEach循环。例如。
<c:forEach items="${foodName2foodNum}" var="thirdLoopVar">
<p>${thirdLoopVar.key}</p>
<p>${thirdLoopVar.value}</p>
</c:forEach>
关于java - jSTL迭代器映射和列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9688226/