我的JSP中有一个使用JSTL / Struts2 / DisplayTag标记库的Struts 2应用程序。有没有办法在给定密钥的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中进行地图访问。 这可能吗?
谢谢!
答案 0 :(得分:7)
你试过这个:
<s:property value="%{mapOnValueStack.['fieldKeyOnValueStack']}" />
答案 1 :(得分:4)
如果你在行动中使用了这个,
Map<String,Integer> headerMap=new HashMap<String, Integer>();
headerMap.put("INITIATED", 0);
headerMap.put("COMPLETED", 0);
headerMap.put("SUBMITTED", 0);
headerMap.put("APPROVED", 0);
headerMap.put("TRAFICKED", 0);
headerMap.put("REJECTED", 0);
然后在你的jsp上使用它,
<s:property value="%{headerMap.INITIATED}" />
<s:property value="%{headerMap.REJECTED}" />
答案 2 :(得分:2)
试试这个
<s:property value="%{mapOnValueStack['fieldKeyOnValueStack']}" />
答案 3 :(得分:-4)
试试这个
<c:forEach var="entry" items="${mapOnValueStack}">
Name: ${entry.key} <br/>
Value: ${entry.value}
</c:forEach>
希望它能奏效。