Struts2 实现零配置(1)
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”/>
?