概述

  • 默认状况下咱们都是应用.action后缀拜访Action。
  • 其实默认后缀是能够通过常量”struts.action.extension“进行批改的。
  • 咱们能够配置Struts 2只解决以.do为后缀的申请门路

    • <struts>      <constant name="struts.action.extension" value="do"/>  </struts>  
  • 如果用户须要指定多个申请后缀,则多个后缀之间以英文逗号(,)隔开。如:

    • <constant name="struts.action.extension" value="do,go"/>
  • 一些罕用的常量

    • <!-- 指定默认编码集,作用于HttpServletRequest的setCharacterEncoding办法 和freemarker 、velocity的输入 -->  <constant name="struts.i18n.encoding" value="UTF-8"/>  <!-- 该属性指定须要Struts 2解决的申请后缀,该属性的默认值是action,即所有匹配*.action的申请都由Struts2解决。     如果用户须要指定多个申请后缀,则多个后缀之间以英文逗号(,)隔开。 -->  <constant name="struts.action.extension" value="do"/>    <!-- 设置浏览器是否缓存动态内容,默认值为true(生产环境下应用),开发阶段最好敞开 -->  <constant name="struts.serve.static.browserCache" value="false"/>    <!-- 当struts的配置文件批改后,零碎是否主动从新加载该文件,默认值为false(生产环境下应用),开发阶段最好关上 -->  <constant name="struts.configuration.xml.reload" value="true"/>    <!-- 开发模式下应用,这样能够打印出更具体的错误信息 -->  <constant name="struts.devMode" value="true" />    <!-- 默认的视图主题 -->  <constant name="struts.ui.theme" value="simple" />    <!– 与spring集成时,指定由spring负责action对象的创立 -->  <constant name="struts.objectFactory" value="spring" />    <!–该属性设置Struts 2是否反对动静办法调用,该属性的默认值是true。如果须要敞开动静办法调用,则可设置该属性为false。 -->  <constant name="struts.enable.DynamicMethodInvocation" value="false"/>    <!--上传文件的大小限度-->  <constant name="struts.multipart.maxSize" value=“10701096"/>  

常量定义地位

  • 常量能够在struts.xml或struts.properties中配置,倡议在struts.xml中配置
  • 两种配置形式如下:

    • 在struts.xml文件中配置常量
    • <struts>      <constant name="struts.action.extension" value="do"/>  </struts>  
    • 在struts.properties中配置常量

      struts.action.extension=do
  • 也可在多个配置文件中进行定义

struts2加载常量的搜寻程序

  • struts-default.xml
  • struts-plugin.xml
  • struts.xml
  • struts.properties
  • web.xml
如果在多个文件中配置了同一个常量,则后一个文件中配置的常量值会笼罩后面文件中配置的常量值.