Struts2 常量配置

来源:互联网 发布:java判断法定节假日 编辑:程序博客网 时间:2024/06/06 04:28

下面是零配置中的常用的常量配置:

<constant name="struts.convention.action.disableScanning" value="false"/>
是否不扫描类。一定要设为false,否则convention插件不起作用,零配置也没有意义。


<constant name="struts.convention.classes.reload" value="true" />

相当于开发模式,重新加载class文件。


<constant name="struts.convention.result.path" value="/WEB-INF/pages/"/>
指定结果页面路径。 convention插件会自动在此路径中寻找文件。放到WEB-INF的目的的保护文件资源,只能通过程序内部跳转才能访问,我们的权限拦截器或其他权限处理只要加到action上就可以了。 默认值是/WEB-INF/content/


<constant name="struts.convention.action.name.separator" value="_"/>

具体action的名字将根据Action类名来进行转化,首先取出Action类名,其次根据驼峰命名法的类名将大写子母小写,默认用“-”进行分割并拼接,这样就形成一个action的name。
比如url为/hello-world,HelloWorldAction返回的结果是success,Result Type为Dispatcher即默认就跳转到/WEB-INF/content/hello-world.jsp
如果url是/test1/test2/hello ,HelloAction返回的结果是error,result type就跳转到/WEB-INF/content/test/test2/hello-error.html


<constant name="struts.convention.default.parent.package" value="default"/>
设置默认的父包,一般我们都设置一个default包继承自struts-default。大部分类再继承default。如果有特殊的类需要特殊的包,只能在action中再指定父包了。

<constant name="struts.convention.package.locators" value="action"/>

配置搜索包的关键词


<constant name="struts.convention.package.locators.disable" value="false"/>

设置禁止从action的根package搜索Action,默认值false


<constant name="struts.convention.package.locators.basePackage" value=""/>
确定搜索包的路径。只要是结尾为action的包都要搜索。basePackage按照默认不用配置,如果配置,只会找以此配置开头的包。locators及locators.basePackage都是一组以逗号分割的字符串。

<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.includeJars" value="" />
包括哪些jar包中的action。逗号分割字符串。

<constant name="struts.convention.relative.result.types" value="dispatcher,freemarker,velocity"/>
默认返回的结果类型搜索。按顺序先找相关的dispatcher的jsp文件是否存在。然后再找freemarker,再找velocity。

<constant name="struts.convention.result.flatLayout" value="true"/>
如果此值设为true,如果一个action的namespace为/login,名称为HelloWorldAction。result返回值是success,默认会找到/WEB-INF/pages/login/hello-world.jsp(如果有hello-world-success.jsp就找这个文件,连接符“-”是在<constant  name="struts.convention.action.name.separator"  value="-"/>中配置的)。如果有一个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。

<constant name="struts.convention.action.mapAllMatches" value="false"/>

设置即使没有@action注解时仍然创建action映射,默认值false


<constant name="struts.convention.action.checkImplementsAction" value="true"/>

设置是否把实现了Action接口的类映射成action,默认值是true


<constant name="struts.convention.redirect.to.slash" value="true"/>

设置是否重定向到(/),例如当/login不存在时,重定向到/login/,默认值true


<constant name="struts.convention.action.suffix" value="Action"/>

搜索Action类名后缀,默认就是Action,不建议修改


<constant name="struts.convention.action.name.lowercase" value="true"/>
设置是否在映射action的时候,所有字母都小写,默认值true

0 0