2010-04-02 75 views
0

我想在action tag中傳遞單個參數的多個參數。pass struts2 action中的多個值與一個參數名稱

例:

<action name="question" class="com.xxx.xxx.action"> <param name="hint">abc</param> <result name="success">Answers.jsp</result> </action>

我有提示(字符串)變量的getter和setter在我的行動。

目前我可以獲得提示變量的參數值爲abc,如果我發送一個。

我想發送多個參數相同的變量(提示)

例如:<param name="hint">abc, xyz</param>

如何才能實現上述。

在此先感謝 拉朱

回答

1

我不認爲你能做到這一點,除了明顯的黑客 例如,只寫上你的映射,並在您操作的字符串轉換成一個陣列

String[] getHintsArray() { 
     return getParam("hint").split("\\s*,\\s*"); 
    } 
+0

感謝您的回覆......我嘗試了類似的方式,但我認爲有沒有其他方式在struts2中做到這一點? – raju 2010-04-06 13:36:45

1

我找到了最好的答案在這裏(看頁面的底部):
http://www.coderanch.com/t/494764/Struts/define-String-array-param-tag

如果由於某種原因,鏈接是,這裏被打破是你做什麼:

<s:param name="queryType" value="new java.lang.String[]{'PRIMARY','SECONDARY'}"/> 

如果你提交一個<s:form>,你只要使用相同的名稱爲多個參數和Struts2的自動創建的字符串數組!

記得剛創建正確的setter和getter在你的行動,例如:

public void setQueryType(String[] queryType){ 
     this.queryType = queryType; 
    } 

注意,你聲明的String []作爲一個數組,這一切!

+0

它可能工作...我需要嘗試 – raju 2011-04-28 15:15:12