转自:http://www.cnblogs.com/loveis/articles/2005034.html
1.常用的常量:
在struts 2中,配置文件需要配置不少常量,其中常用的如下:
struts.i18n.encoding:这个常量会作用于setCharacterEncoding方法和freemarker,velocity(这两种为模板技术)的输出,POST方式提交的数据,可以交由这个常量去设置它的编码格式。
struts.configuration.xml.reload:当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false,开发阶段最好打开,开发完后再关闭。
truts.serve.static.browserCache:设置浏览器是否缓存,默认值为true,开发阶段最好关闭。
struts.devMode:打印出更详细的错误信息,用于排错,主要用于开发模式,做好了再关闭,在copy sturts-blank中的stuts.xml中,里面有这常量。
struts.ui.theme:标签所使用的额外的自定义样式,不太实用,最好设置成simple,且一般都不用到struts 2的标签库。
struts.objectFactory:与spring继承时,指定由spring负责action对象的创建,在继承spring时,会用到这个常量.
struts.enable.DynamicMethodInvocation:该属性设置struts2是否支持动态方法调用,该属性的默认值是true,如果需要关闭动态方法调用,则可设置该属性为false,
注意:DMI的调用方式Struts2的文档不建议使用,且下载的struts2-2-X.jar中,它的sturts-blank中sturts.xml有这常量,并设其值为false。
struts.multipart.maxSize:设置上传文件的总大小限制,老杨说过它上传无法传太大的,可能是这里没设置。
注意:用HTML方式来上传是无法上传太大的文件,很不稳定,可以说失败率超高。解决方法是用socket编个插件用于上传,而不能直接依赖。
struts.action.extension:修改后缀名,默认是action,可以修改。若值有多个,可用逗号隔开,这对于常量的值都通用。
struts.custom.i18n.resources:用于配置国际化全局XML资源文件,须在指明该全局资源文件的基础名。
struts.ognl.allowStaticMethodAccess:如其名,用于设置OGNL是否允许静态方法访问,默认为false。
====================== 华丽丽的分割线 ======================
2.加载常量的顺序:
有时看到别人把常量配置在一个struts.properties文件中,如:
// 以下句子写在:struts.properties
struts.multipart.maxSize=20971520
原因是struts2定义常量可以在多个文件中配置,sturts会按以下顺序进行搜索:
struts-default.xml
struts-plugin.xmlstruts.xmlstruts.propertiesweb.xml若在多个文件中配置同一个常量,则后一个的配置会覆盖前一个。
注意:Sturts2的文档中,不建议把常量配置在struts.xml以外的地方。