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

 示例结构:

转载于:https://www.cnblogs.com/fengmingyue/p/6143286.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值