STRUTS系列之 Action配置
来源:互联网 发布:张予曦开的淘宝店 编辑:程序博客网 时间:2024/05/17 23:55
基本的配置
//UserAction.javapublic class UserAction extends ActionSupport{ private String name; public String execute() throws Exception{ ....... return SUCCESS; }}
配置如下:
<action name="login" class="com.jeysine.action.UserAction "> <result>/success.jsp</result> <result name="error">/error.jsp</result></action>
在上述例子中,每一次register请求,就会执行RegisterAction 的execute()方法。假如一个action里面有多个执行请求的方法,这时候可以使用method属性。
使用method属性
修改类如下:
//UserAction.javapublic class UserAction extends ActionSupport{ private String name; public String create() throws Exception{ ....... return SUCCESS; } public String execute() throws Exception{ ....... return SUCCESS; } public String delete() throws Exception{ ....... return SUCCESS; } public String edit() throws Exception{ ....... return SUCCESS; }}
修改配置:
<!-- 请求execute()方法 --><action name="user" class="com.jeysine.action.UserAction "> <result>/success.jsp</result> <result name="error">/error.jsp</result></action><!-- 请求create()方法 --><action name="userCreate" class="com.jeysine.action.UserAction " method="create"> <result>/success.jsp</result> <result name="error">/error.jsp</result></action><!-- 请求delete()方法 --><action name="userDeletee" class="com.jeysine.action.UserAction " method="delete"> <result>/success.jsp</result> <result name="error">/error.jsp</result></action><!-- 请求edit()方法 --><action name="userEdit" class="com.jeysine.action.UserAction" method="edit"> <result>/success.jsp</result> <result name="error">/error.jsp</result></action>
使用通配符映射
当遇到大型项目时,action要配置很多,为了减少配置,我们可以使用通配符映射。例如有配置如下:
<action name="create*" class="com.jeysine.action.Create{1}Action"> <reslut>/{1}.jsp</result></action>
当有一个请求为createUser时,便会访问CreateUserAction的execute()方法,结果页面为User.jsp。
当有多个匹配符时,我们可以使用下划线来分隔,如:
<action name="*_*" class="com.jeysine.action.{1}Action" method="{2}"> <reslut>/{0}.jsp</result></action>
当有一个请求为/User_create时,会访问UserAction里的create()方法。结果页面是User_create.jsp
使用通配符要注意配置的优先级,,例如:
<!-- 配置1 --><action name="*" class="com.jeysine.action.Create{1}Action"> <reslut>/{1}.jsp</result></action><!-- 配置2 --><action name="create*" class="com.jeysine.action.Create{1}Action"> <reslut>/{1}.jsp</result></action><!-- 配置3 --><action name="createUser" class="com.jeysine.action.CreateUser.Action"> <reslut>/createUser.jsp</result></action>
当有一个请求为/createUser,会选择配置3,若请求为/createManager时,则会使用配置1,因为3的优先级最高,而配置1和2都使用通配符,所以就按配置的顺序来决定优先级。虽然这里的选择配置1和2都没差别,但若是配置1和2访问的不是同个action呢?所以最好是配置2放在配置1前面,以免出现难以排查的异常。
0 0
- STRUTS系列之 Action配置
- struts之action配置
- Struts 2.0的Action讲解(Struts 2.0系列之三)
- Struts Action 之 配置属性及其含义
- struts笔记之action配置相关
- Struts中配置Action
- Json Struts-Action 配置
- struts中配置action
- struts action配置属性
- Struts配置跳转action
- Struts配置Action
- Struts配置之action属性set-property的配置方法
- Struts配置之action属性set-property的配置方法
- STRUTS系列之 拦截器配置
- Struts Action 之 method
- Struts之Action类
- struts之action mappings
- struts之action类
- 生成模型与判别模型
- Ionic Angular 实现验证码倒计时功能
- 用jstl标签截取从后台获取的url扩展名拼接到src里
- sublime + cocos lua
- 虚拟机三种网络模式(桥接、NAT、Host-only)
- STRUTS系列之 Action配置
- poj 3468 线段树 lazy标记模板
- nyoj711&&zznu1624 最舒适的路线(第六届河南省程序设计大赛 广搜)
- PHP7和HHVM的性能之争
- 一种局部ui界面切换解决方案
- session 入库
- java数据结构与算法分析学习2(泛型)
- Extjs替换自带theme
- 泛型在Web中的作用