动态方法调用和使用通配符定义action:
如果Action中存在多个方法时,可以用!方法名调用指定方法。
如:/struts/test/helloworld!other.action
注意:如果不想使用动态方法调用,可通过配置常量关闭动态方法调用,
<constant name="struts.enable.DynamicMethodlnvocation" value="false"/>
使用通配符定义Action。
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>
<package name="itcast" namespace="/test" extends="struts-default">
<action name="helloworld_*" class="cn.itcast.action.HelloWorldAction" method="{1}">
<result name="success">/WEB-INF/page/message.jsp</result>
</action>
</package>
</struts>
public class HelloWorldAction {
private String msg;
public String getMsg() {
return msg;
}
public String addUI(){
msg = "addUI";
return "success";
}
public String execute() throws Exception{
msg = "execute";
return "success";
}
}
要访问other()方法时,可以通过这样的URL来访问:/test/helloworld_other.action
其中other匹配"helloworld_*"中的第1个*