Struts2之常量配置
常量配置
Struts2框架默认常量的位置
在struts2-core的jar包中.
在org.apache.struts2包下有default.properties文件
在default.properties文件中定义了struts2框架的常用常量.
如何自定义常量
1.可以在src下创建一个strtus.properties配置文件
文件的内容,可以根据default.properties文件中的内容来修改
2.可以在web.xml文件中配置
例如
<filter>
<filter-name>struts2Filter</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
可以声明struts2框架常量值
<init-param>
<param-name>struts.i18n.encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
init-param
标签下就是定义的常量的键和值.
3.可以直接在strtus.xml文件中定义常量 (推荐)
下面主要是介绍在struts.xml中进行常量的配置.
struts.xml中配置常量
在struts.xml中的struts标签下,可以进行常量的配置.
用的是constant标签.
constant标签的name属性为常量的键, value属性为常量的值.
键都可以在default.properties文件中查找, 都有其默认的值.
可以根据自己需要,将其默认值进行改变.
介绍几个常用的常量配置
下面这个常量配置的意义是,可以帮助我们解决post请求乱码问题<constant name="struts.i18n.encoding" value="UTF-8"></constant>
下面这个常量配置含义是 指定访问strtsu2框架路径的扩展名. 该例子是说前端发送的请求,必须以.action结尾,后台的action才能进行响应.<constant name="struts.action.extension" value="action"></constant>
下面这个常量配置含义是开启开发者模式.
它会提供更加详细报错信息,以及在struts.xml文件修改后不在需要重启服务器<constant name="struts.devMode" value="true"></constant>
需要注意的一点
后加载的配置文件中的常量会将先加载的常量覆盖.
即如果在不同的配置文件中,对同一个键值进行了常量的配置, 那么后加载的配置文件, 会对先加载的配置文件中的值进行覆盖掉.
配置文件的加载顺序如下
- 第一个加载的是default.properties文件
位置:strtus2-core.jar包 org.apache.struts2包下
作用:主要是声明了struts2框架的常量 - 第二个加载的是一批配置文件
Strtus-default.xml
位置:struts2-corl.jar
作用:声明了interceptor result bean
Strtus-plugin.xml
位置:在strtus2的插件包中
作用:主要用于插件的配置声明
Strtus.xml
位置:在我们自己的工程中
作用:用于我们自己工程使用strtus2框架的配置 - 第三个加载的是自定义的strtus.properties
位置:都是在自己工程的src下
作用:定制常量 - 第四自定义配置提供
- 第五加载的是web.xml配置文件
主要是加载strtus2框架在web.xml文件中的相关配置. - 第六 bean相关配置