使用不同的参数调用Struts 2动作方法

时间:2011-05-31 17:56:45

标签: struts2

在我的struts2动作类中,我有一个方法:

public String doXXX(String param){

//do stuff
return SUCCESS;
}

在我的配置xml中,如何根据操作为“param”调用此方法的不同值。类似的东西:

<action name="action1" class="struts2Class" method="doXXX" param = "foo" />
<action name="action2" class="struts2Class" method="doXXX" param = "bar" />

1 个答案:

答案 0 :(得分:4)

您不能在要用作操作方法的方法中传递参数。您可以在struts.xml中为您的操作指定一个param元素,如下所示:

<action name="action1" class="struts2Class" method="doXXX">
  <param name="foo">bar</param>
</action>

然后,您需要在struts2Class上使用getter和setter声明一个名为foo的私有变量。调用action1时将设置此属性。

属性foo将由Param Interceptor设置为动作执行的一部分。