使用通配符配置action
来源:互联网 发布:楚辞相关的著作 知乎 编辑:程序博客网 时间:2024/05/21 15:50
建立struts2wildcard项目,此实例基本仿照前面前面第7点的实例改写而成。为了使用通配符,只需要改写配置文件即可。此实例未使用通配时的配置文件如下:
<actionname="addUser"class="com.asm.UserAction"method="addUser">
<resultname="success">/user/addUser.jsp</result>
</action>
<actionname="delUser"class="com.asm.UserAction"method="delUser">
<resultname="success">/user/delUser.jsp</result>
</action>
<actionname="queryUser"class="com.asm.UserAction"method="queryUser">
<resultname="success">/user/queryUser.jsp</result>
</action>
<actionname="updateUser"class="com.asm.UserAction"method="updateUser">
<resultname="success">/user/updateUser.jsp</result>
</action>
我们注释掉上面的配置,使用通配符只需如下内容即可达到相同的效果:
<action name="*User"class="com.asm.UserAction"method="{1}User">
<resultname="success">/user/{1}User.jsp</result>
</action>
原理:当有.../addUser.action请求时,如果不能在当前应用中找到完全相同的addUser名字的Action时,通配符配置这时就起作用了,按通配原则,它便和上面的name="*User"相配成功,这里不难明了*此时代指的内容是add,再来看method恰恰是引用第一个*的内容,所以它的method此时的完整名为addUser,它刚好和com.asmUserAction中的addUser方法相对,所以它会去addUser方法,再来看下面的result配置所指代的页面,它也用到了{1},所以它的完整页面是/addUser.jsp。其实如果我们有良好的编程命名习惯,所有的Action我们都只需要进行一次配置。举例:规定所有的Action类都用XXXAction来命名,类中所有的CRUD方法都用add/del/update/query。Jsp页面也用add/del/update/query_XXX.jsp这样的形式。即配置文件可以写成如下形式:
<action name="*_*"class="com.asm.{2}Action"method="{1}">
<resultname="success">.../{1}_{2}.jsp</result>
</action>
Name中第一个*代表CRUD操作的名字,第二个*代表类的名字。所以访问链接地址举例如下:
.../del_User.action将访问到User类的del方法,成功后跳到del_User.jsp页面。补充说明{0}是代表name中所有的*组合。
原文出处:http://www.cnblogs.com/mrcharles/p/4731696.html
- 使用通配符配置 Action
- 使用通配符配置action
- 使用通配符配置action
- Struts2使用通配符配置action
- Struts2 Action配置通配符
- 使用通配符定义Action
- 使用通配符定义Action
- Action使用通配符
- Action通配符使用
- 【Struts2学习笔记】struts2.5使用通配符配置action跳转
- Action通配符(wildcard)的配置
- Struts2的Action配置通配符
- Struts2 使用通配符定义action
- Struts2 Action使用通配符提交
- 【struts2】action中使用通配符
- 【struts2】action中使用通配符
- Action中通配符的使用
- struts2中Action配置之通配符配置
- 结构体数组字节数大小
- 最大子序列和
- NetCore 1.0 Release 下载
- 江湖风云录-洛阳金刀门
- 1. Spring--容器
- 使用通配符配置action
- LeetCode 315. Count of Smaller Numbers After Self
- bootstrap学习笔记(2)--json数据处理(图书列表)
- centos7安装mysql
- 如何更新 OpenStack 组件?- 每天5分钟玩转 OpenStack(161)
- 大数据的解决方案-------缓存和页面静态化
- windows server 2012上搭建FTP服务器
- UnityEngine.Types.GetType(string,string)在5.5.2中过时
- POJ-----2104---K-th Number---暴力