struts2动态调用action
时间: 2024-01-13 17:03:53 浏览: 82
可以使用动态方法调用(DMI)来实现Struts2动态调用Action。DMI允许您在运行时动态地调用Action方法,而不需要在struts.xml文件中显式地配置每个方法。
要使用DMI,您需要在Action类中实现一个名为execute的方法,并将所有请求都发送到该方法。然后,您可以使用反射来调用其他方法。
以下是一个示例Action类,其中包含一个名为dynamicMethod的方法,可以通过请求参数来动态调用:
```
public class MyAction extends ActionSupport {
public String execute() throws Exception {
String methodName = ServletActionContext.getRequest().getParameter("method");
Method method = getClass().getMethod(methodName);
return (String) method.invoke(this);
}
public String dynamicMethod() {
// do something
return SUCCESS;
}
}
```
在上面的示例中,我们使用反射来获取请求参数中指定的方法名称,并调用该方法。请注意,这里我们假设请求参数中包含一个名为“method”的参数,其值为要调用的方法名称。
阅读全文