1、安装Convention插件(struts2-convention-plugin.jar)
2、可设置常量:
· struts.convention.exclude.packages:指定不扫描的包
· struts.convention.package.locators:指定的包作为搜索Action的根包
· struts.convention.action.packages:外加需要扫描的包
· struts.convention.action.name.separator:指定Action的name的分隔符,默认"-"
3、Convention插件会自动搜索位于action、actions、struts、struts2包下的所有Java类
按约定映射Action(以下均映射至/manage)
· com.sharera.gzctdlsmh.action.manage
· com.sharera.gzctdlsmh.actions.manage
· com.sharera.gzctdlsmh.struts.manage
· com.sharera.gzctdlsmh.struts2.manage
4、Convention会把如下两种Java类当成Action处理
· 实现了com.opensymphony.xwork2.Action的Java类
· 类名以Action结尾的Java类
5、Action类名映射规则:
· 采用驼峰写法:SaveFaqInfo.java ---> save-faq-info.action
6、按约定映射Result
· actionurl + resultcode + suffix
· actionurl + suffix
7、Action链的约定(未实验)
· 第一个Action返回逻辑视图字符串没有对应视图
· 第二个Action与第一个Action处于同一包下
· 第二个Action映射URL为:firstactionurl+resultcode
例如:第一个Action为OneAction,里面有个方法返回为"two",那么就得保证,WEB-INF/content/下没有one.jsp或one-two.jsp
对于第二个action 它的名字应该是OneTwoAction,而对应的url应该是:"one-two.action"
8、开发模式下设置
<!--配置struts2应用于开发模式--!>
<constant name=”struts.devMode” value=”true”/>
<!—配置Convention插件自动重加载映射--!>
<constant name=”struts.convention.classes.reload” value=”true”/>