通过将另一个属性作为键传递,使用struts标记从map获取值

时间:2013-03-21 07:34:02

标签: javascript jsp struts2

<s:property value="currentStep" />
<s:set var="nextURL" value="%{campaignStepsMap.get(currentStep).nextUrl}" scope="page" />
<s:property value="nextURL" />

这里currentStep是一个具有整数值的属性,它来自动作类。并且campaignStepMap是一个linkedHashMap。我希望在java中使用以下代码

获得完全相似的值
campaignStepsMap.get(currentStep).nextUrl();

但是在Jsp页面中,我没有得到与索引相对应的值。似乎value="%{campaignStepsMap.get(currentStep).nextUrl}"未将currentStep读为整数。我该怎么办?

1 个答案:

答案 0 :(得分:1)

您可以从地图中获取价值:

<s:property value="campaignStepsMap[currentStep].nextUrl"/>

如果您想将<s:set>标记与scope="page"一起使用,则需要使用#attr来获取该值。

<s:set var="nextURL" value="campaignStepsMap[currentStep].nextUrl" scope="page"/>
<s:property value="#attr.nextURL"/>