动态方法调用: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方法
Struts的DMI(动态调用)
猜你喜欢
转载自jiangmiao-2015.iteye.com/blog/2251042
今日推荐
周排行