Struts2中使用DMI(动态方法调用)
来源:互联网 发布:湖北省近20年gdp数据 编辑:程序博客网 时间:2024/05/21 11:28
Struts2中使用DMI(动态方法调用)
(这是从网上找的视频资料,学习的过程中真理的)
Action执行的时候并不一定要执行execute方法,
可以在配置文件中配置Action的时候用method=来指定执行哪个方法------会产生太多的action,不推荐用,
也可以在url地址中动态指定(动态方法调用-DMI)------推荐
1.配置Action (method方式)
url为:http://localhost:8080/militaryShop/user/userAdd
<struts>
<constant name="struts.person" value="true"/>
<!-- 当调用userAdd这个action的时候,会调用对应的class对象的add方法-->
<package name="user" extends="struts-default" namespace="/user">
<action name="userAdd" class="com.militaryShop.struts2.user.action.UserAction" method="add">
<!--成功,则返回的页面-->
<result>/user_add_sucess.jsp</result>
</action>
</package>
</struts>
2.DMI方式配置xml
2.1 使用"!"方式,即action名称!方法名称
url为:http://localhost:8080/militaryShop/user/user!add
add是Action中的方法
<struts>
<constant name="struts.personMode" value="true"/>
<!-- 会调用对应的class对象的add方法-->
<package name="user" extends="struts-default" namespace="/user">
<action name="user" class="com.militaryShop.struts2.user.action.UserAction">
<result>/user_add_sucess.jsp</result>
</action>
</package>
</struts>
2.2 使用通配符,可以将配置量降到最低。不过,一定要遵守“约定优于配置”的原则。
2.2.1
<struts>
<constant name="struts.personMode" value="true"/>
<!-- 会调用对应的class对象的add方法-->
<package name="actions" extends="struts-default" namespace="/actions">
<!--method 里的{1}表示的是,比如有个action叫Useradd,这时候method的{1}就等于add。-->
<!--url为:http://localhost:8080/militaryShop/actions/Useradd-->
<action name="User*" class="com.militaryShop.struts2.action.UserAction" method="{1}">
<!--返回的页面是useradd_sucess.jsp-->
<result>/user{1}_sucess.jsp</result>
</action>
<!--url为:http://localhost:8080/militaryShop/actions/User_add,注意,这时候的类型就是UserAction类-->
<action name="*_*" class="com.militaryShop.struts2.action.{1}Action" method="{2}">
<!--返回iude页面是user_add_success.jsp-->
<result>/{1}_{2}_success.jsp</result>
</action>
</package>
(这是从网上找的视频资料,学习的过程中真理的)
Action执行的时候并不一定要执行execute方法,
可以在配置文件中配置Action的时候用method=来指定执行哪个方法------会产生太多的action,不推荐用,
也可以在url地址中动态指定(动态方法调用-DMI)------推荐
1.配置Action (method方式)
url为:http://localhost:8080/militaryShop/user/userAdd
<struts>
<constant name="struts.person" value="true"/>
<!-- 当调用userAdd这个action的时候,会调用对应的class对象的add方法-->
<package name="user" extends="struts-default" namespace="/user">
<action name="userAdd" class="com.militaryShop.struts2.user.action.UserAction" method="add">
<!--成功,则返回的页面-->
<result>/user_add_sucess.jsp</result>
</action>
</package>
</struts>
2.DMI方式配置xml
2.1 使用"!"方式,即action名称!方法名称
url为:http://localhost:8080/militaryShop/user/user!add
add是Action中的方法
<struts>
<constant name="struts.personMode" value="true"/>
<!-- 会调用对应的class对象的add方法-->
<package name="user" extends="struts-default" namespace="/user">
<action name="user" class="com.militaryShop.struts2.user.action.UserAction">
<result>/user_add_sucess.jsp</result>
</action>
</package>
</struts>
2.2 使用通配符,可以将配置量降到最低。不过,一定要遵守“约定优于配置”的原则。
2.2.1
<struts>
<constant name="struts.personMode" value="true"/>
<!-- 会调用对应的class对象的add方法-->
<package name="actions" extends="struts-default" namespace="/actions">
<!--method 里的{1}表示的是,比如有个action叫Useradd,这时候method的{1}就等于add。-->
<!--url为:http://localhost:8080/militaryShop/actions/Useradd-->
<action name="User*" class="com.militaryShop.struts2.action.UserAction" method="{1}">
<!--返回的页面是useradd_sucess.jsp-->
<result>/user{1}_sucess.jsp</result>
</action>
2.2.2
<!--{1}对应的是第一个*号,{2}对应第二个*号,便于模块化的区分--><!--url为:http://localhost:8080/militaryShop/actions/User_add,注意,这时候的类型就是UserAction类-->
<action name="*_*" class="com.militaryShop.struts2.action.{1}Action" method="{2}">
<!--返回iude页面是user_add_success.jsp-->
<result>/{1}_{2}_success.jsp</result>
</action>
</package>
</struts>
开发中的约定:(一般由项目经理)
规定---项目名怎么定,项目里的Action名字怎么定,Action里增、删、改、查的方法名怎么定
1.当都能匹配时,首先匹配最精确的;精确度一样时,看前后顺序,匹配前面的
2.当有的模块需要单独做一些配置,比如Filter过滤器,可以做一些精确的配置,然后用通用的配置所有的。
如果有不对的地方,请朋友们指出来,谢谢!
0 0
- Struts2中使用DMI(动态方法调用)
- Struts2中DMI(动态方法调用)
- Struts2学习 动态方法调用(DMI)
- struts2之动态方法调用(DMI)
- Struts2-动态方法调用(DMI)
- struts2动态方法调用(DMI)
- Struts2 DMI 动态方法调用
- Struts2 DMI动态方法调用
- Struts2中DMI(动态方法调用)的一些问题
- Struts2中DMI(动态方法调用)的一些问题
- Struts2中DMI(动态方法调用)的一些问题
- Struts2中(动态方法调用)DMI的一些问题
- Struts2中DMI(动态方法调用)的一些问题
- Struts2中DMI(动态方法调用)的一些问题
- 使用最新struts2(2.3.15.2),不能使用DMI动态调用方法。在struts.xml中打开动态方法调用。
- struts2的动态方法调用(DMI)和通配符映射
- struts2——动态方法调用(dmi)!!!
- Struts2 ActionMethod 【DMI】(动态方法调用)
- UserAction extends ActionSupport implements ModelDriven<User> .tmp 上传图片文件
- CocoasPod与GitHub的区别
- 关于Android Toast
- 三种方式实现显示模板轮廓
- 单例模式与线程安全
- Struts2中使用DMI(动态方法调用)
- hdu 4508
- CodeForces 638A Home Numbers
- freopen
- CodeForces解题报告——4
- JQuery插件的写法
- ZOJ Light Bulb 3203【思维】
- Android Multimedia Framework 架构--base on jellybean(二)
- C++ 二叉查找树