我爱编程

004--Struts2常量配置

2018-04-13  本文已影响0人  d03bd8f89ce7

Struts2常量大部分在默认的配置文件中已经配置好。但可以根据需求和开发的不同,对这些常量值进行修改。

Struts2支持的常量非常多,在struts-core-2.3.24.jar下的org.apache.struts2路径下有一个default.properties文件,该文件为Struts2的常量指定了默认值。位置如下:

这里写图片描述
在Struts2常量配置修改,主要通过以下三种方式:

struts.xml中通过<constant>元素配置常量

这是最常用的方式,通过constant原生配置常量时,需要指定两个必填的属性:

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

其实,在struts.properties文件中配置的常量都可以在struts.xml文件中使用constant元素来配置,只不过是加载优先级的不同。

struts.properties文件中配置常量

struts.properties是一个标准的properties,格式为key-value,分别代表常量名和常量值。
src目录下,新建struts.properties文件,示例如下:

# 设置默认编码集
struts.i18n.encoding=UTF8
### 设置请求action的扩展名为do或者无
struts.action.extension=action,,
### 设置开发者模式
struts.devMode=false
### 设置不开启动态方法调用
struts.enable.DynamicMethonInvocation=false

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

web.xml文件配置核心过滤器StrutsPrepareAndExecuteFilter时,通过初始化参数配置常量。在filter元素中的init-param子元素指定,示例如下:

<filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        <init-param>
            <param-name>struts.devMode</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

需要注意的是,在web.xml配置常量时,init-param标签必须放在filter下。

上一篇下一篇

猜你喜欢

热点阅读