Struts2零配置介绍(约定访问)
从struts2.1开始,struts2 引入了Convention插件来支持零配置,使用约定无需struts.xml或者Annotation配置
需要 如下四个JAR包
插件会自动搜索如下类
action、actions、struts、struts2包下所有Java类
所有实现了com.opensymphony.xwork2.Action的Java类
所有类名以Action结尾的Java类
下面类名都符合Convention插件
cn.yzu.struts2.HelloAction
cn.yzu.actions.books.BookSearchAction
cn.yzu.struts.user.UserAction
cn.yzu.estore.action.test.LoginAction
struts2-convention-plugin-2.3.7.jar 中struts-plugin.xml重要常量
<constant name="struts.convention.package.locators" value="action,actions,struts,struts2"/> 默认扫描包
<constant name="struts.convention.exclude.packages" value="org.apache.struts.*,org.apache.struts2.*,org.springframework.web.struts.*,org.springframework.web.struts2.*,org.hibernate.*"/> 不扫描
<constant name="struts.convention.action.suffix" value="Action"/> 默认扫描以Action结尾的类
<constant name="struts.convention.result.path" value="/WEB-INF/content/"/> 结果result页面存放位置
<constant name="struts.convention.classes.reload" value="false" /> Action类文件重新自动加载
Action映射
如果Action类名包含Action后缀,将Action后缀去掉,将Action类名的驼峰写法,转成中划线写法
例如:
cn.yzu.struts2.HelloAction 映射到 /hello.action
cn.yzu.actions.books.BookSearchAction 映射到 /books/book-search.action
cn.yzu.struts.user.UserAction 映射到 /user/user.action
cn.yzu.estore.action.test.LoginAction 映射到 /test/login.action
默认情况下,Convention总会到Web应用的WEB-INF/content路径下定位结果资源
<constant name="struts.convention.result.path" value="/WEB-INF/content/"/>
约定: actionName + resultCode + suffix (后缀)
例如:
访问cn.itcast.struts.user.UserAction返回success
Convention优先使用 WEB-INF/content/user/user-success.jsp
如果user-success.jsp不存在,会使用user-success.html
如果user-success.html不存在,会使用user.jsp
示例结构:
最新文章
- BZOJ 4390: [Usaco2015 dec]Max Flow
- 基于thinkphp的数组分页
- UGUI研究院之控件以及按钮的监听事件系统
- 在64位Win7中使用Navicat Premium 和PL\SQL Developer连接Oracle数据库备忘
- hdu 2086
- [BZOJ 1085] [SCOI2005] 骑士精神 [ IDA* 搜索 ]
- sql server 删除索引的语句
- C# 实现设置系统环境变量设置
- jsp内置对象 的使用范围和类型【说明】
- HiHocoder1419 : 后缀数组四&#183;重复旋律4&;[SPOJ]REPEATS:Repeats
- 原 js实现数据持久化
- Java基础-对象与类
- LG4091 【[HEOI2016/TJOI2016]求和】
- Percona-XtraBackup系列二:备份恢复
- Windows系统之hosts文件
- 笔记本wifi热点设置好后,手机连上但不能上网问题
- 【51nod-1042】数字0-9的数量
- 【机器学习PAI实践十】深度学习Caffe框架实现图像分类的模型训练
- Machine Learning笔记整理 ------ (五)决策树、随机森林
- MongoDB插入时间不正确的问题