我想调用相同操作的方法并将参数传递给它。 任何人都可以告诉我如何打电话给它。
通常在action类中,如果在同一个类的另一个方法中调用相同的类方法,那么我们只写:
return methodName();
但是如果我想通过传递参数和调用进行调用;
答案 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();
}
...
}