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 文件来包含其他配置文件.

Struts2(五)常量的配置的更多相关文章

  1. Struts2(五)Action二配置

    一.method参数 action package com.pb.web.action; public class HourseAction { public String add(){ System ...

  2. struts2 的struts.xml配置详解

    在应用struts框架进行开发时,必不可少的一步就是对struts.xml进行配置,对于该文件了解越多,我们开发起一应用程序定会更加顺手.下面我们看一下struts.xml的内容,每一项都有什么作用. ...

  3. Struts2学习笔记二 配置详解

    Struts2执行流程 1.简单执行流程,如下所示: 在浏览器输入请求地址,首先会被过滤器处理,然后查找主配置文件,然后根据地址栏中输入的/hello去每个package中查找为/hello的name ...

  4. Struts2框架学习(三)——配置详解

    一.struts.xml配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts ...

  5. 阿里云服务器Linux CentOS安装配置(五)jetty配置、部署

    阿里云服务器Linux CentOS安装配置(五)jetty配置.部署 1.官网下载jetty:wget http://repo1.maven.org/maven2/org/eclipse/jetty ...

  6. 基于IDEA 最新Spirng3.2+hibernate4+struts2.3 全注解配置 登录

    原文 基于IDEA 最新Spirng3.2+hibernate4+struts2.3 全注解配置 登录 首先说说 IDEA 12,由于myeclipse越来越卡,我改用idea12 了,发现其功能强悍 ...

  7. Struts2 拦截器具体配置过程

    拦截器差点儿遍布每个程序中,所以贴出拦截器配置的具体过程,希望可以帮到大家. Struts2 拦截器具体配置过程 <interceptors> <!-- 先定义拦截器 --> ...

  8. kafka原理和实践(五)spring-kafka配置详解

    系列目录 kafka原理和实践(一)原理:10分钟入门 kafka原理和实践(二)spring-kafka简单实践 kafka原理和实践(三)spring-kafka生产者源码 kafka原理和实践( ...

  9. SpringBoot入门(五)——自定义配置

    本文来自网易云社区 大部分比萨店也提供某种形式的自动配置.你可以点荤比萨.素比萨.香辣意大利比萨,或者是自动配置比萨中的极品--至尊比萨.在下单时,你并没有指定具体的辅料,你所点的比萨种类决定了所用的 ...

随机推荐

  1. C++/C高质量编程指南-笔记

    复习: C/C++高质量编程指南: [规则1-2-1]为了防止头文件被重复引用,应当用ifndef/define/endif结构产生预处理块. [规则1-2-2]用 #include <file ...

  2. verilog实验3:AD转换后串口输出到PC端

    一.实验任务 通过tcl549AD转换芯片将模拟电压信号转换为数字信号,并通过串口显示到电脑上.此AD转换芯片为串行转换芯片,且转换速率要和串口选择的速率匹配.等待串口发送完后,再进行下一次AD转换. ...

  3. 统计细菌基因组ORF

    提取细菌基因组ORF思路: 1.通过FNA文件得到细菌基因组序列 2.分正负链和三个相位共6种情况统计ORF 3.写入文件 转载请保留出处! 统计细菌基因组ORF 贴上Python代码(版本:3.6) ...

  4. 运行所选代码生成器时出错:“预期具有协定名称 "NuGet.VisualStudio.IVsPackageInstallerServices" 的1导出 ——VS2015错误记录

    在编写ASP.NET MVC控制器后,右键添加视图时,VS2015报出错误: 运行所选代码生成器时出错:“预期具有协定名称 "NuGet.VisualStudio.IVsPackageIns ...

  5. composer引用本地git做为源库

    PHP使用者大多对composer是又爱又恨,爱的是composer require后,很多类库不用去下载了,恨的是网速卡成翔,虽然国内有很多道友做了镜象,但对于bower库这些都还是整体更新. 那么 ...

  6. Android Stutio 3.0 - Gradle sync failed

    0.Android Studio 权威教程 (url:http://blog.csdn.net/column/details/zsl-androidstudio.html) 1. 项目老是报错: Gr ...

  7. 使用域账号统一管理cisco网络设备

    1.思科设备和微软系统整合的背景: 公司内部有一定数量的客户端,为了实现统一化,在管理内部部署了域架构,这样可以通过组策略对客户端进行批量化管理,提高了管理的效率. 同样公司内部有一定数量的网络设备( ...

  8. session垃圾回收机制

    主要有以下三个参数 session.gc_maxlifetime:session生命周期 session.gc-devisor:启动session回收机制频率的被除数(分母) session.gc_p ...

  9. 通过实例介绍持续集成的应用--基于Jenkins

    1.测试工程师为什么要掌握持续集成 一个程序员如果想发布一个产品,他需要编码.编译.测试,发布的过程.对于一个企业来说,如果也想发布一个产品的话,同样的也是需要上述的过程,区别在于企业要发布的产品的需 ...

  10. C#获取文件夹下的所有文件的文件名(转载)

    String path = @"X:\xxx\xxx";   //第一种方法 var files = Directory.GetFiles(path, "*.txt&qu ...