惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
Recent Announcements
Recent Announcements
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
月光博客
月光博客
A
About on SuperTechFans
Vercel News
Vercel News
博客园 - 【当耐特】
爱范儿
爱范儿
Blog — PlanetScale
Blog — PlanetScale
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
D
Docker
博客园 - 叶小钗
The Cloudflare Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
H
Help Net Security
I
InfoQ
博客园 - 三生石上(FineUI控件)
博客园 - Franky
Microsoft Azure Blog
Microsoft Azure Blog
The GitHub Blog
The GitHub Blog
大猫的无限游戏
大猫的无限游戏
MongoDB | Blog
MongoDB | Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

博客园 - netshuai

免安装Oracle客户端使用PL/SQL连接Oracle的2种方法 优化MyEclipse7.5 WebService大讲堂之Axis2(9):编写Axis2模块(Module) WebService大讲堂之Axis2(10):使用soapmonitor模块监视soap请求与响应消息 WebService大讲堂之Axis2(7):将Spring的装配JavaBean发布成WebService WebService大讲堂之Axis2(8):异步调用WebService WebService大讲堂之Axis2(5):会话(Session)管理 WebService大讲堂之Axis2(6):跨服务会话(Session)管理 WebService大讲堂之Axis2(4):二进制文件传输 WebService大讲堂之Axis2(3):使用services.xml文件发布WebService WebService大讲堂之Axis2(2):复合类型数据的传递 (转)WebService大讲堂之Axis2(1):用POJO实现0配置的WebService J2EE项目代码编写规范 Dom4j入门 编码 GBK 的不可映射字符 ognl表达式用法笔记 - netshuai - 博客园 struts2校验框架之Visitor校验器 struts2.1.6 datetimepicker标签不能使用的问题解决 加快MyEclipse启动速度
struts2中减少action数量(通配符使用)
netshuai · 2009-08-06 · via 博客园 - netshuai

如struts中配有如下几个action,ManagerUserAction中有与之对应的方法

<action name="addUser" class="com.netshuai.action.ManagerUserAction" method="add">
    
<result name="success">/addUser.jsp</result>
</action>
<action name="delUser" class="com.netshuai.action.ManagerUserAction" method="del">
    
<result name="success">/delUser.jsp</result>
</action>
<action name="updateUser" class="com.netshuai.action.ManagerUserAction" method="update">
    
<result name="success">/updateUser.jsp</result>
</action>

如果使用通配符,可以省略写成一个action

<action name="*User" class="com.netshuai.action.ManagerUserAction" method="{1}">
    
<result name="success">/{1}User.jsp</result>
</action>

其中,*为通配符,{1}为*所替换的内容,如用户访问的是addUser.action,则*就被自动替换为add,{1}处也自动使用add替换。

若开发时使用统一的命名规范,则所有action可使用类似如下的一条替换即可

<action name="*_*" class="com.netshuai.action.{1}Action" method="{2}">
    
<result name="success">/{2}_{1}Success.jsp</result>
</action>

如上所示,所有文件都采用统一的命名规范,第一个*为分类名称,第二个*为操作名,{1}和{2}分别代表第一个和第二个*的替换值,所有action实现类都命名为分类名称+Action。
如分类名称为User,操作名为add,则访问的action名为User_add.action,action实现类名为UserAction,返回页面的名为add_UserSuccess.jsp
另:{0}代表显示所有通配符内容,如<result name="success">/{2}_{1}Success.jsp</result>改为<result name="success">/{0}Success.jsp</result>,则返回的名为User_addSuccess.jsp