我在我的JSP中使用了JSTL/Struts2/DisplayTag標記庫的Struts 2應用程序。有沒有辦法在給定密鑰的JSP中訪問Map的值?如何在JSP中給定一個鍵的Map值?
// Action code
Map<String,String> map = new HashMap<String,String>();
mapOnValueStack = map;
//add key/value pairs
fieldKeyOnValueStack = "1";//sets key
....
<%-- JSP code --%>
<s:property value="%{mapOnValueStack.get(fieldKeyOnValueStack)}" />
基本上我想要做的JSP中地圖的訪問。 這可能嗎?
謝謝!
的'%{}'事(稱爲OGNL)並不特定於JSP/JSTL。它們特定於Struts2。因此,對於非Struts2開發人員來說,這個問題非常混亂,因爲「嘗試這個」答案可能根本不正確。在普通的JSP中,你可以使用EL'$ {mapOnValueStack [fieldKeyOnValueStack]}來實現這一點。然而,你的代碼示例並沒有提供這些變量在正常的JSP EL範圍中可以用'$ {mapOnValueStack}'和'$ {fieldKeyOnValueStack}。 – BalusC 2011-03-10 20:46:53
感謝您的意見,但我在問題中聲明它是一個Struts 2應用程序,並且我使用JSTL,Struts 2和Display Tag庫。那麼,我假設有人回答這個問題就知道他們之間的區別。 '%{mapOnValueStack.get(fieldKeyOnValueStack)}'僅在Struts 2標籤中是正確的。這只是我想表達的一個例子。 – Nick 2011-03-10 22:46:15