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


这里的currentStep是一个具有Integer值的属性,该值来自动作类。 campaignStepMap是linkedHashMap。我想使用以下代码在Java中获得完全相似的值

campaignStepsMap.get(currentStep).nextUrl();


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

最佳答案

您可以像这样从地图中获得价值:

<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"/>

07-26 00:15