Struts2的default.properties和struts.properties文件

完整版见https://jadyer.github.io/




struts-default.xmldefault.propertiesStruts2非常重要的两个默认的配置文件
org.apache.struts2包中的default.properties中定义了许多Struts2的全局属性
我们可以在struts.xml中使用<constant/>修改这些全局常量,以实现我们的某种目的


其实它的大多数属性都没有必要修改,很多属性也不必知道具体含义,因为很少用得上
除非极特殊情况,可能要用到一些生僻属性,这时可以去Struts2官网上查看帮助文档


第33行的struts.i18n.encoding默认的UTF-8可以修改为GBK以解决上传文件时乱码情况
第65行的struts.multipart.saveDir属性,用来指定文件上传时所使用的临时目录
第66行的struts.multipart.maxSize属性,用来设定上传文件的合计大小,默认为2MB
第63行的struts.multipart.parser属性,用来指定Struts2所支持的三种文件上传的方式
                                                  默认使用的是jakarta,即使用commons-fileupload组件
                                                  若使用其它两种上传方式的话,同样需要显式引入它们的Jar文件
                                                  但是通常情况下使用jakarta就可以,三者都是差不多的
第76行的struts.action.extension属性,用来设定请求的后缀名,默认值为action
                                                  我们同样可以通过<constant/>标签或struts.properties文件重新设定它的后缀值
                                                  修改后缀值时,struts.xml中有关<action/>的配置是不需要任何更改的,应用会照常执行
第158行struts.custom.i18n.resources属性,用来指定国际化的全局资源文件
                                                  比如<constant name="struts.custom.i18n.resources" value="message"/>
                                                  则所指定的国际化资源文件即message.properties,它应与struts.xml位于相同目录中
                                                  准确来说,最后的目标是将该文件保存在//WebRoot//WEB-INF//classes//目录下
                                                  若同时设定两个资源文件,如<constant name="…i18n…" value="message,test"/>
                                                  那么后面的资源文件中的key值将覆盖前面的资源文件中的相同key


Struts2的配置文件不仅仅包括struts.xml文件,还有其它的,比如struts.properties
org.apache.struts2.default.properties的第23行有如下说明
###(can be overridden by a struts.properties file in the root of the classpath)
即在classpath的根路径下的一个叫做struts.properties的文件可以覆盖掉Struts的默认属性
至此可以通过<constant/>或在src下新建struts.properties文件修改Struts2全局属性
不建议同时使用这两种方式。因为若二者修改了同一属性的话,还要考虑二者的优先级
而且研究这两种方式的优先级高低,并没有太大的实际意义。所以推荐只使用一种方式


另外还有一种方式可以实现初始化default.properties中的参数。但极力不建议大家使用
那就是在web.xml中通过<init-param/>标签设定Struts2的全局常量
这种方式的缺点是:①繁琐,配置一个属性需要写4行代码。②不直观。因此了解即可,没必要掌握
但是在web.xml中配置的全局常量的优先级却要高于<constant/>struts.properties

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值