2013-03-21 69 views
2
<s:property value="currentStep" /> 
<s:set var="nextURL" value="%{campaignStepsMap.get(currentStep).nextUrl}" scope="page" /> 
<s:property value="nextURL" /> 

這裏currentStep得到地圖使用Struts標籤值是具有整數值作用正在添加類的屬性。而campaignStepMap是一個linkedHashMap。我想下面的代碼通過將另一個屬性關鍵

campaignStepsMap.get(currentStep).nextUrl(); 

,但在這裏Jsp頁面我沒有收到對應的索引值來獲得在Java中完全相似的價值。似乎value="%{campaignStepsMap.get(currentStep).nextUrl}"不讀取currentStep作爲整數。我該怎麼辦?

回答

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

我不知道爲什麼這種方式無法正常工作。我的方式是'',我引用這個頁面https://dzone.com/articles/struts-2-creating-and – zhuguowei 2016-05-30 08:04:54

+0

@zhuguowei:你什麼意思? OP有'scope ='page''。 – 2016-05-30 16:56:34