Struts的DMI(动态调用)

动态方法调用:DMI  --  dynamic  Method invoke
   *在action类中定义多个方法:public String xxx(){xxx}
extends ActionSupport{
public String execute(){
System.out.println("execute~~~");
return "ok";
}
public String login(){
System.out.println("login");
return "loginok";
}
public String queryAllUser(){
System.out.println("all users");
return "queryAllok";
}
public String updateUser(){
System.out.println("update user");
return "updateok";
}
}
  *在struts.xml中配置action:
<action name="emp_*" method="{1}" class="com.c32.multiple.methods.action.MultipleMethodDMIAction">
<result name="loginok">/index.jsp</result>
<result name="queryAllok">/index.jsp</result>
<result name="updateok">/index.jsp</result>
</action>
*注意:1. 由于action的name为【emp_*】,且其中的【*】是可以匹配任意多个任意字符的通配符,所以
如下url:
   http://localhost:8989/appname/dmi/ emp_login
   http://localhost:8989/appname/dmi/emp_queryalluser
   http://localhost:8989/appname/dmi/emp_updateUser
都可以匹配到name为【emp_*】的action
2.【method="{1}"】中的【{1}】是一个占位符,【emp_*】中的【*】匹配到的内容会填充
    到【{1}】的位置上
            3.所以如下的url,可以访问到的action类,及action类中的可执行的方法为:
   http://localhost:8989/appname/dmi/emp_login-->MultipleMethodDMIAction中login方法
   http://localhost:8989/appname/dmi/emp_queryalluser-->MultipleMethodDMIAction中queryalluser方法
   http://localhost:8989/appname/dmi/emp_updateUser-->MultipleMethodDMIAction中updateUser方法

猜你喜欢

转载自jiangmiao-2015.iteye.com/blog/2251042
dmi