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。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了