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
總結
以上是生活随笔為你收集整理的Struts2零配置介绍(约定访问)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Tomcat启动过程中找不到JAVA_H
- 下一篇: 链表反转leetcode206