如何在JSP中给出一个键的Map值?

时间:2011-03-10 19:26:57

标签: java jsp struts2

我的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中进行地图访问。 这可能吗?

谢谢!

4 个答案:

答案 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>

希望它能奏效。