struts配置详解
0.struts 配置加载顺序问题:
default.properties -> struts-default.xml -> struts-plugin.xml -> struts.xml ->struts.properties -> web.xml
-----------------------------------------struts.xml配置-----------------------
、
------------------------------------------struts2常量配置----------------------------------
struts2默认常量配置位置
修改struts2常量配置(方式先后也是加载顺序)
方式1:src/struts.xml
方式2:在src下创建struts.properties
方式3:在项目的web.xml中
------------------------------------------------常量配置-----------------------------------------
--------------------------------------------struts2配置的进阶----------------------------------------------------
动态方法调用
方式1
方式2
struts2中的默认配置
------------------------------struts一些其他常见的全局配置-----------------------------------------------
<constant name="struts.i18n.encoding" value="UTF-8"/>
struts.i18n.encoding:这个常量会作用于setCharacterEncoding方法和freemarker,velocity(这两种为模板技术)的输出,POST方式提交的数据,可以交由这个常量去设置它的编码格式。
<constant name="struts.configuration.xml.reload" value="true" />
struts.configuration.xml.reload:当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false,开发阶段最好打开,开发完后再关闭。
<constant name="struts.serve.static.browserCache" value="false"/>
truts.serve.static.browserCache:设置浏览器是否缓存,默认值为true,开发阶段最好关闭。
<constant name="struts.devMode" value="true" />
struts.devMode:打印出更详细的错误信息,用于排错,主要用于开发模式,做好了再关闭,在copy sturts-blank中的stuts.xml中,里面有这常量。
<constant name="struts.ui.theme" value="simple" />
struts.ui.theme:标签所使用的额外的自定义样式,不太实用,最好设置成simple,且一般都不用到struts 2的标签库。
<constant name="struts.objectFactory" value="spring"/>
struts.objectFactory:与spring集成时,指定由spring负责action对象的创建,在集成spring时,会用到这个常量.
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
struts.enable.DynamicMethodInvocation:该属性设置struts2是否支持动态方法调用,该属性的默认值是true,如果需要关闭动态方法调用,则可设置该属性为false,
注意:DMI的调用方式Struts2的文档不建议使用,且下载的struts2-2-X.jar中,它的sturts-blank中sturts.xml有这常量,并设其值为false。
<constant name="struts.multipart.maxSize" value="20971520" />
struts.multipart.maxSize:设置上传文件的总大小限制,老杨说过它上传无法传太大的,可能是这里没设置。
注意:用HTML方式来上传是无法上传太大的文件,很不稳定,可以说失败率超高。解决方法是用socket编个插件用于上传,而不能直接依赖。
<constant name="struts.action.extension" value="do,lz" />
struts.action.extension:修改后缀名,默认是action,可以修改。若值有多个,可用逗号隔开,这对于常量的值都通用。
<constant name="struts.custom.i18n.resources" value="baseName" />
struts.custom.i18n.resources:用于配置国际化全局XML资源文件,须在指明该全局资源文件的基础名。
<constant name="struts.ognl.allowStaticMethodAccess" value="true" />
struts.ognl.allowStaticMethodAccess:如其名,用于设置OGNL是否允许静态方法访问,默认为false。