zoukankan      html  css  js  c++  java
  • Struts2(五)常量的配置

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

  • 相关阅读:
    iOS获取设备UUID和IDFA
    iOS之Xcode提交App中断出现:Cannot proceed with delivery: an existing transporter instance is currently uploading this package
    iOS 打测试包给测试人员测试,两种安装方式
    ios APP进程杀死之后和APP在后台接收到推送点击跳转到任意界面处理
    iOS中统计平台的使用
    Android APK反编译
    Linux客户端、服务器、窗口管理器的关系
    Linux中ctrl-c, ctrl-z, ctrl-d 区别
    如何下载百度网盘已失效资源链接
    svn 批量更新 bat脚本
  • 原文地址:https://www.cnblogs.com/shaoxiaohuan/p/8514425.html
Copyright © 2011-2022 走看看