Struts2常量配置

本文记录Java学习过程中遇到的Struts2常量配置~

Struts2的常量大多在默认的配置文件中已经配置好,但根据用户需求的不同,开发的要求也不同,可能需要修改这些常量,修改的方法就是在配置文件中对这些常量进行重新配置。

Struts2常量配置共有3种方式,分别如下:

  • 在struts.xml文件中使用<constant>元素配置常量;
  • 在struts.properties文件中配置常量;
  • 在web.xml文件中通过<init-param>元素配置常量。

1. 在struts.xml文件中通过<constant>元素配置常量

在struts.xml文件中通过<constant>元素配置常量是最常用的方式。在struts.xml文件中通过<constant>元素配置常量时,需要指定两个必填的属性name和value。

  • name:该属性指定了常量的常量名;
  • value:该属性指定了常量的常量值。

示例代码:

<struts>
  <!-- 设置默认编码集 -->
  <constant name="struts.i18n.encoding" value="UTF-8" />
  <!-- 使用开发者模式 -->
  <constant name="struts.devMode" value="true" />
<struts>

2. 在struts.properties文件中配置常量

struts.properties文件是一个标准的properties文件,其格式是key-value对,即每个key对应一个value,key表示的是struts2框架中的常量,而value则是其常量值。

示例代码:

# 设置默认编码集
struts.i18n.encoding=UTF-8
# 使用开发者模式
struts.devMode=true
# 设置action请求的扩展名为action或者没有扩展名
struts.action.extension=action,,
# 设置不开启动态方法调用
struts.enable.DynamicMethodInvocation=false

3. 在web.xml文件中通过初始化参数配置常量

在web.xml文件中配置核心过滤器StrutsPrepareAndExecuteFilter时,通过初始化参数来配置常量。通过<filter>元素的<init-param>子元素指定,每个<init-param>元素配置了一个struts2常量。

示例代码:

<filter>
	<filter-name>struts2</filter-name>
	<filter-class>
		org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
	<filter-class>
	<init-param>
		<param-name>struts.i18n.encoding</param-name>
		<param-value>UTF-8</param-value>
	<init-param>
</filter>

Struts2支持的常量数量众多,在struts2-core-2.3.24.jar包中的org.apache.struts2路径下有一个default.properties文件,该文件里为struts2的所有常量都制定了默认值,可以通过查看该文件了解struts2所支持的常量。

标签: none