在struts 2中如何使用方法调用传递参数来调用相同动作的方法

时间:2011-07-08 13:04:46

标签: java struts2

我想调用相同操作的方法并将参数传递给它。 任何人都可以告诉我如何打电话给它。

通常在action类中,如果在同一个类的另一个方法中调用相同的类方法,那么我们只写:

return methodName();

但是如果我想通过传递参数和调用进行调用;

2 个答案:

答案 0 :(得分:2)

我可以通过两种方式来做到这一点。

如果你想在同一个动作上调用该方法:

<s:property value="methodName(parameter)"/> 

如果该方法处于其他操作中,并且您已在操作映射中指定该操作中的方法:

<s:action name="actionName_mehtodName" executeResult="false">
    <s:param name="paramName" value="paramValue"/>
<s:action/>

在后一种情况下,如果您将executeResult设置为false,则可以使用该操作在ValueStack上设置属性以供日后使用。但如果设置为true,无论该操作的结果是什么,它都将被执行。

答案 1 :(得分:1)

您可以将其保存到动作类的类变量中,以便所有方法都可以访问它吗?

public class MyAction extends ActionSupport {

   private Object parameter; //The parameter to be passed between methods

   public String firstAction() {
       ...
       parameter = something; //Set the parameter for second action to access
       return secondAction();
   }
   ...
}