struts2零配置中的常量配置(Convention)
前面介绍了基本常量的配置,现在给大家介绍一下零配置常量,也就是Convention插件的相关常量
首先,开启Convention的自动冲加载映射
Convention支持自动重新加载映射,只需要在web.xml或者struts.xml或struts.properties中配置下面的两个常量,就可以开启自动重加载映射
<constant name="struts.devMode" value="true"/>
<constant name="struts.convention.classes.reload" value="true"/>
接下来,就是Convention的相关常量了
name | value |
---|---|
truts.convention.action.disableJarScanning | 设置是否从Jar包搜索Action类(适合于将Action达成jar包的人使用,默认为true,不需要,可以自定义关闭) |
struts.convention.action.packages | 指定该包作为根包来搜索Action类 |
struts.convention.exclude.packages | 排除哪些包不搜索。按默认配置即可。逗号分割字符串。 (指定的是包名) |
struts.convention.package.locators.basePackage | 确定搜索包的路径。只要是结尾为action的包都要搜索。basePackage按照默认不用配置,如果配置,只会找以此配置开头的包。locators及locators.basePackage都是一组以逗号分割的字符串。 |
struts.convention.result.path | 指定结果页面路径。 convention插件会自动在此路径中寻找文件。放到WEB-INF的目的的保护文件资源,只能通过程序内部跳转才能访问,我们的权限拦截器或其他权限处理只要加到action上就可以了。 默认值是/WEB-INF/content/ |
struts.convention.action.name.separator | 具体action的名字将根据Action类名来进行转化,首先取出Action类名,其次根据驼峰命名法的类名将大写子母小写,默认用“-”进行分割并拼接,这样就形成一个action的name。 |
struts.convention.default.parent.package | 设置默认的父包,一般我们都设置一个default包继承自struts-default。大部分类再继承default。如果有特殊的类需要特殊的包,只能在action中再指定父包了。 默认值是convention-default |
struts.convention.package.locators | Convention插件使用该常量指定的包作为搜寻的Action的根包。默认值是action,actions,struts,struts2 |
struts.convention.package.locators.disable | 指定禁止从Action的根包中搜寻Action,默认值false |
struts.convention.relative.result.types | 指定Convention映射Result是默认支持的结果类型,默认返回的结果类型搜索。按顺序先找相关的dispatcher的jsp文件是否存在。然后再找freemarker,再找velocity。 默认值dispatcher,freemarker,velocity |
struts.convention.redirect.to.slash | 设置是否重定向到(/),例如当/login不存在时且设置值为true是,重定向到/login/,默认值true |
struts.convention.action.suffix | Convention搜索Actioo类的类名后缀,默认值Action,不建议修改 |
struts.convention.action.name.lowercase | 设置是否在映射action的时候,所有字母都小写,默认值true |
struts.convention.action.checkImplementsAction | 是否将实现了Action接口的类应射程Action,默认值是true |
struts.convention.action.mapAllMatches | 设置即使没有@action注解时仍然创建action映射,默认值false |
struts.convention.result.flatLayout | 如果此值设为true,如果一个action的namespace为/login,名称为HelloWorldAction。result返回值是 success,默认会找到/WEB-INF/pages/login/hello-world.jsp(如果有hello-world- success.jsp就找这个文件,连接符“-”是在中配置的)。如果有一个action的result返回值是“error”,就会找/WEB-INF/pages /login/hello_world_error.jsp。 如果此值设为false,如果一个action的命名空间为/login,名称为HelloWorldAction。result返回值是 success,默认会找到/WEB- INF/pages/login/hello_world/index.jsp(如果有success.jsp就找这个文件)。如果有一个action的 result返回值是“error”,就会找/WEB-INF/pages /login/hello_world/error.jsp。 |
struts.convention.action.includeJars | 包括哪些jar包中的action。逗号分割字符串 |
struts.convention.classes.reload | 相当于开发模式,重新加载class文件。 |
参考自链接(http://chouyi.iteye.com/blog/1562682),博主稍作修改和整理,更加详细了些.