2013-04-10 32 views
1

如果我有一些對象存儲爲一個名爲myObject的我可以找出它的類型在JSP EL這樣的請求屬性:如何顯示以表達式語言(EL)顯示地圖的類別?

${myObject['class']}

但是,如果我有存儲爲一個請求java.util.Map屬性MYMAP,和我把這個在我的網頁...

${myMap['class']}

...地圖中搜索,其關鍵是「階級」的條目。這是有道理的,否則我們永遠無法從一個帶有「class」鍵的Map中檢索EL中的任何東西。

那麼如何在EL語句中顯示我的地圖類型? (你們大多數人會問我:「你爲什麼在意?」嗯,今天我正在搭乘沒有互聯網連接的火車,我不得不在網頁上迭代java.util.HashMap,而我完全所以,我不知道如何做到這一點,所以,我不知道該如何做,所以我決定找出這個類型是什麼(我知道它不是一個真正的java.util.HashMap,Tomcat把它變成了別的東西),所以我可以在Tomcat的jar文件中搜索,看看它暴露了什麼方法,也許我自己弄明白了,好吧,我無法通過EL找到這種類型,我使用嵌入式Java內部標籤<% %>標籤,但它一直困擾着我所以我一直都沒有找到EL,所以,這就是爲什麼我在乎,它正在吞噬我)

回答

1

如果你正在使用EL 2.2+,你可以簡單地使用:

${myMap.getClass()} 

的其他方法可行,可以寫一個custom EL function或標籤。在那裏你可以檢查對象是否是java.util.AbstractMap的一個實例。