开发者

pass Multilple values in struts2 action with one param name

开发者 https://www.devze.com 2022-12-25 05:53 出处:网络
I would like to pass Multiple parameters for single param in action t开发者_StackOverflow社区ag.

I would like to pass Multiple parameters for single param in action t开发者_StackOverflow社区ag.

Ex:

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

I have getters and setters for hint (String) variable in my action.

Currently i can be able to get parameter value for hint variable as abc if i send one.

I would like to send multiple parameters for same variable(hint)

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

how can achieve the above.

Thanks in advance Raju


I found the best answer here (look at the bottom of the page):
http://www.coderanch.com/t/494764/Struts/define-String-array-param-tag

If for some reason the link is broken, here is what you do:

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

If you are submitting a <s:form>, you just use the same NAME for multiple parameters and Struts2 automatically creates the String Array!

Just remember to create the correct setter and getter in your action, for example:

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

Notice that you declare String[ ] as an Array, that's all!


I don't think you can do that, apart from the obvious hacks For example, just write the above in you mapping and in your action convert the string to a array

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

精彩评论

暂无评论...
验证码 换一张
取 消