004--Struts2常量配置

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

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

这里写图片描述

在Struts2常量配置修改,主要通过以下三种方式:

  • struts.xml:使用constant元素配置常量
  • struts.properties:文件中配置常量
  • web.xml:通过init-param元素配置常量

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

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

  • name:常量名
  • value:常量值
    示例如下:
    <!-- 设置默认编码集为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下。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一节:Struts2概述 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servle...
    Seapp阅读 5,167评论 0 1
  • 本文包括: 1、Struts 2 概述2、Struts 2 快速入门3、Struts 2 的执行流程4、配置 st...
    廖少少阅读 8,097评论 3 13
  • 概述 什么是Struts2的框架Struts2是Struts1的下一代产品,是在 struts1和WebWork的...
    inke阅读 6,691评论 0 50
  • 1.什么是框架 什么是框架,框架从何而来,为什么使用框架? 1).框架(framework)——半成品: 1.是一...
    贾里阅读 8,552评论 0 0
  • Struts2简介   Struts2是在WebWork2基础上发展而来的。Struts2和Struts1一样,也...
    zenghi阅读 2,548评论 1 1