`
qiuxiaorong1979
  • 浏览: 80860 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

利用通配符减少struts.xml中action的数量

阅读更多
1. 如果struts中配有如下几个action,且UserAction中有与之对应的方法
<action name="listUser" class="com.shawnqiu.action.UserAction" method="list">
	<result name="success">/listUser.jsp</result>
</action>
<action name="addUser" class="com.shawnqiu.action.UserAction" method="add">
	<result name="success">/addUser.jsp</result>
</action>
<action name="deleteUser" class="com.shawnqiu.action.UserAction" method="delete">
	<result name="success">/deleteUser.jsp</result>
</action>
<action name="updateUser" class="com.shawnqiu.action.UserAction" method="update">
	<result name="success">/updateUser.jsp</result>
</action>
<action name="findUser" class="com.shawnqiu.action.UserAction" method="find">
	<result name="success">/findUser.jsp</result>
</action>


2. 如果使用通配符,可以省略写成一个action。
<action name="*User" class="com.shawnqiu.action.UserAction" method="{1}">
	<result name="success">/{1}User.jsp</result>
</action>

其中,*为通配符,{1}为*所替换的内容,相当于
<action name="listUser" class="com.shawnqiu.action.UserAction" method="list">
	<result name="success">/listUser.jsp</result>
</action>
<action name="addUser" class="com.shawnqiu.action.UserAction" method="add">
	<result name="success">/addUser.jsp</result>
</action>
<action name="updateUser" class="com.shawnqiu.action.UserAction" method="update">
	<result name="success">/updateUser.jsp</result>
</action>
<action name="deleteUser" class="com.shawnqiu.action.UserAction" method="delete">
	<result name="success">/deleteUser.jsp</result>
</action>
<action name="findUser" class="com.shawnqiu.action.UserAction" method="find">
	<result name="success">/findUser.jsp</result>
</action>


3. 若开发时使用统一的命名规范,则所有action可使用类似如下的一条替换即可
<action name="*_*" class="com.shawnqiu.action.{1}Action" method="{2}">
	<result name="success">/{1}_{2}Success.jsp</result>
</action>

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


分享到:
评论

相关推荐

    struts2利用通配符调用同一个Action里面不同的方法

    struts2利用通配符调用同一个Action里面不同的方法,在struts.xml配置文件中将请求方法的不相同部分抽象成“*".

    struts2+spring+hibernate整合示例

    b 在struts.xml中添加action,使用通配符的方式 , 注意这里和单独struts2不同的地方: class属性指向的是bean 的 id ,这里我们配置bean采用spring ioc注解的方式, 所以默认的bean的id 为 类名(首字母小写) ...

    Struts2入门教程(全新完整版)

    (2).struts.xml文件 4 (3).struts.properties(参default.properties) 4 (4)struts-default.xml 4 (5)其它配置文件 4 4.让MyEclipse提示xml信息 4 5.如何使用alt+/提示 4 6.实例 4 7.开启struts2自带的...

    Struts2 in action中文版

    6.7.2 Struts 2中常用的表达式语言特性 131 6.7.3 表达式语言的高级特性 135 6.8 小结 137 第7章 UI组件标签 139 7.1 为什么需要UI组件标签 139 7.2 标签、模板和主题 144 7.2.1 标签 146 7.2.2 模板 146 7.2.3 ...

    struts2 详解文档

    动态方法调用和使用通配符定义action 请求参数接收 自定义类型转换器 全局类型转换器 访问或添加几个属性 文件上传 多文件上传 自定义拦截器 对Action中所有方法进行输入校验 对Action指定方法进行校验 ...

    Struts2_入门篇_基本配置_通配符_参数注入_内置对象获取等。。。

    此文件可直接导入测试使用,供初学struts2的朋友借鉴,包含struts2类中获得内置对象,注入form表单参数,struts2的基本XML配置等等...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    书中介绍了如何利用Struts 2 来解决Web 应用开发中的常见问题,同时还深入浅出地探讨了许多能帮助程序员编写Struts 2 应用程序的技巧,如管理页面导航活动、输入验证、国际化和本地化、对Ajax 的支持,等等。书中...

    java命名规范 开发规范

    1. Action建议统一遵守通配符的约定,basePath/web/moduleName/*_ *.action {1}  EntityName,{2}  ActionMethodName 2. 统一命名规则:接口类似UserService,接口实现类型UserServiceImpl;(IUserService和...

    深入浅出Struts2(附源码)

    2.4.1 struts.xml文件 19 2.4.2 struts.properties文件 26 2.5 Struts应用程序示例 26 2.5.1 部署描述文件和Struts配置文件 27 2.5.2 动作类 28 2.5.3 运行app02a程序 29 2.6 依赖注入 29 2.6.1 概述 29 ...

    ssh(structs,spring,hibernate)框架中的上传下载

     以上是Spring+Hibernate将文件二进制数据持久化到数据库的解决方案,而Struts通过将表单中file类型的组件映射为ActionForm中类型为org.apache.struts.upload. FormFile的属性来获取表单提交的文件数据。  工程...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    8.8.2 struts.xml文件配置出错 8.9 精彩回顾 第9章 庖丁解牛 ——揭密Struts2高级技术 9.1 本章学习任务 9.1.1 本章知识体系 9.1.2 实例开发任务 9.2 OGNL表达式语言 9.2.1 认识OGNL 9.2.2 Struts2框架中的OGNL ...

    J2EE应用开发详解

    118 8.3.5 Struts2配置文件 119 8.4 Action的配置方式 121 8.4.1 动态方法调用 121 8.4.2 设置action元素的method属性 122 8.4.3 使用通配符配置action 122 8.4.4 默认action 123 8.5 拦截器Interceptor 123 8.5.1 ...

Global site tag (gtag.js) - Google Analytics