簡體   English   中英

jstl迭代器映射和列表

[英]jstl iterator map and list

以下代碼無效:

    <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)

我認為Map<String, List<Map<String, Integer>>>應該是Map<String, Map<String, Integer>> ,因為你想foodName2foodNum是一個地圖,而不是一個地圖列表, map2則是類型Map.Entry<String, Map<String, Integer>>

foodName2foodNum是整個地圖而不是單個地圖條目,因此沒有鍵和值。 如果需要字符串鍵和Map條目中的Integer值,請嘗試在map2.value循環中創建另一個c:forEach循環。 例如

<c:forEach items="${foodName2foodNum}" var="thirdLoopVar">
  <p>${thirdLoopVar.key}</p>
  <p>${thirdLoopVar.value}</p>
</c:forEach>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM