3
class SampleAction extends ActionSupport {
private Map<String,String> circleIdNameMap;
public String preprocess(){
--logic for populating value of MAP
}
--getters and setters
}
現在我的問題是頁面加載我打電話preprocess
功能和填充Map
的值。在頁面提交之後,調用另一個方法,並且在一些數據庫交互之後,它將重定向到JSP,但這次Map
的值爲空。我在Struts2中使用這個Map
作爲下拉式標籤。維護動作變量的值?
我preprocess
中的鏈接關聯,如:當我重定向到我的JSP所以它不叫的話,那麼第二次,當鏈接被點擊preprocess
叫,之後
href="/gma/preprocessConfigureTspThreshold?operatorId=5102&sessionId=12332"`
因此,只有第一次Map
的值爲空。
我應該把地圖放在一個會話中,以便保留它嗎?還是可以做點別的?
我看了說不要用
preprocess
功能,用Preparable
接口。但是,按照文檔:的準備方法將總是由Struts的所謂2框架的準備攔截
每當任何方法被調用Action類。
所以,它會被稱爲每一個方法。我只想在頁面加載時調用preprocess
。
你是如何在頁面加載時調用方法的?如果它在頁面加載時被調用,那麼map是空的?您可以簡單地在'return ERROR;'之前調用'preprocess()',然後在JSP地圖上就不會爲空。 –
準備方法被調用時,有一個請求,你action..so無論是頁面加載或任何使用情況下 –
@Aniket:我的預處理是在像鏈接關聯: \t \t \t \t \t HREF =「/ GMA/preprocessConfigureTspThreshold?operatorId = 5102&的sessionId = 12332" !所以只有當第一次點擊鏈接時,預處理被調用,之後當我重定向到我的JSP,所以它不叫 –