0
這與其他一些問題非常相似,但沒有人使用字符串鍵。所以,我們走了。通過JSTL中的字符串鍵訪問TreeMap條目
我有一個TreeMap有一組類別名稱,按類別ID鍵入。該ID是一個數字(作爲字符串)。
我建立了值樹狀圖,然後將其暴露在該頁面,就像這樣:
<%
Map categories = new TreeMap();
...
String categoryId = ...;
String categoryName = ...;
categories.put(categoryId, categoryName);
...
pageContext.setAttribute("categories", categories);
%>
後來,我通過一系列已分配到類別的項的迭代。每個項目都有一個.categories集合,其中包含已分配到的類別的ID。我想顯示名稱,所以我這樣做:
<c:forEach items="${item.categories}" var="catId">
${categories[「${catId}」}
</c:forEach>
不幸的是,這不會發出任何東西。也不${categories["${catId}"].value}.
然而,這並不:
${categories["2"]}
當然,該行實際上不是由項目數據驅動。
我檢查過了,每個項目附加的ID實際上對應於類別ID;這不是數據不匹配問題。
那麼,當附加到物品的數據只有ID時,如何獲得類別名稱?
P.S.我應該提到,我不是一個Java程序員 - 根本就不是。燈是更多我的風格。所以修改類並不是真正的選擇。
不能這樣做。我不想顯示每個項目的主要類別列表,這是該代碼將執行的操作。我想要爲每個項目顯示它所屬的類別。該foreach必須迭代該項目的cateogries,與主列表交叉引用它們。 – Tom
我可以發誓,我曾嘗試過,沒有運氣。但我猜不是,因爲你的代碼有效!非常感謝。 – Tom