Struts2 常量大多在 默认的配置文件中已经配置好,但根据用户的需求不同,开发的要求不同,需要修改这些常量值,修改的方法就是在配置的文件对常量进行重新配置
- 在struts.xml 文件中使用<constant>元素配置常量.
- 在struts.properties文件中配置常量
- 在web.xml 文件中通过<init-param> 元素配置常量
1.在struts.xml 文件中使用<constant>元素配置常量.(常用)
在struts.xml文件中通过<constant>元素配置常量,是最常用的方式,在配置<constant/> 元素来配置常量时,需要指定两个必填的属性name和value
- name:该属性指定了常量的常量名
- value:该属性指定了常量的常量值
在struts.xml 文件中的配置实例代码如下:
<struts> <!--设置默认编码为UTF-8-->
<constant name="struts.il8n.encoding" value="UTF-8"/>
<!--设置使用开发模式--> <constant name="struts.devMode" value="true"/> </struts>
struts.properties文件配置的常量都可以在struts.xml 文件中用<constant>元素来配置
2.在struts。properties 文件中配置常量
struts.properties 文件是一个标准的properties文件,其格式是key-value,即每一个key值对应一个value,key表示的是struts2框架中的常量,而value则是其常量值。配置方式如下:
###设置默认编码集为UTF-8
struts.il8n.encoding=UTF-8
### 设置action 请求的扩展名为action 或者是没有扩展名
struts.action.extension=action, ,
###设置不使用开发模式
struts.devMode=false
###设置不开起动态方法调用
struts.enable.DynamicMethodInvocation=false
和struts.xml文件一样,struts.properties 文件也存放于WEB-INF/classes文件夹下。即 开发中把struts.properties文件存放的src目录下
3.在Web.xml 文件中通过初始化参数配置常量
在web.xml 文件中配置核心过滤器StrutsPrepareAndExecuteFilter 时,通过初试化参数来配置常量,通过<filter>元素的<init-param>子元素指定,每个<init-param>元素配置一个struts2常量。在web.xml 文件中通过初始化蚕食配置常量方式,具体如下代码片段所示:
struts2 所支持的常量数量众多,在struts2-core-2.3.24.jar压缩文件的org/apache/strus2路径下有一个defalut.properties 文件,该文件里为struts2的所有常量都指定了默认的值
4.分模块开发的配置
在实际开发中我们习惯用struts.xml 修改struts2的常量。但是在实际开发中还有一个问题,就是如果一个项目是团队开发的。也就是很多人开发的,那么团队中的很多人去修改struts.xml。那么最后在项目整合的时候就会很麻烦,所以Struts2中也支持分模块开发的配置
struts 2提供 <include>标签解决这个问题.
<include>元素用来在一个struts.xml 配置文件中包含其他的配置文件,包含配置体现了工程中的“分而治之”原则。struts2允许将一个配置文件分解成多个配置文件,提高配置文件的可读性.
struts2 默认只加载WEB-INF /classes 下的struts.xml 文件,一旦通过多个xml文件配置Action。就必须通过struts.xml 文件来包含其他配置文件.