2013-03-29 64 views
0

我使用<c:forEach>標記遍歷JSP中名爲listEvents(類型爲List<String>)的列表。在for循環中我需要顯示一個HashMap<String,String>的值。 hashmap的關鍵是列表中的元素。請在代碼片段下面找到。表達式語言通過鍵訪問映射值

<c:forEach items="${listEvents}" var="listEvent" varStatus="eventCount"> 
    <c:out value="${eventMap[listEvent]}</ 
</c:forEach> 

當我與上面的代碼嘗試,我得到

PropertyNotFoundException [ 「鍵」 屬性的java.lang.String中沒有發現。

我該如何解決這個問題?

+0

看來eventMap是一個字符串,而不是地圖。告訴我們這張地圖是如何構建和添加爲屬性的。 –

+0

謝謝..我將地圖作爲<%@attribute>傳遞給jsp。默認情況下,該屬性將String類型作爲輸入。由於我傳遞HashMap我需要顯式設置類型爲java.util.HashMap。 – user2183807

回答

1

這是做正確的方式:

  <c:forEach var="listEvent" items="${eventMap}" varStatus="eventCount"> 
       ${listEvent.value} 
     </c:forEach> 

要訪問鍵添加一行:

  ${listEvent.key}