Struts2 常量配置

Struts2規定了一些特定的對整個Struts2應用起做用的常量,經過配置這些常量的值,能夠改變Struts2框架的一些默認行爲。

Struts2能夠在三種文件中對常量進行配置:html

  • struts.xml
  • struts.properties
  • web.xml

在不一樣配置文件中配置相同常量,會出現覆蓋的狀況:後一個覆蓋前一個配置文件中的常量值。例如,在struts.xml中配置一個常量I,在web.xml中也配置一樣的常量I,則web.xml中的常量I會覆蓋struts.xml中的常量I。java

struts中的部分常量

屬性 說明
struts.locale 默認是en\_US,中文環境下爲zh\_CN
struts.i18n.encoding 指定默認編碼集,默認值UTF-8
struts.action.extension 指定須要Struts2處理的請求後綴,默認值是action,,
struts.devMode 指定Struts2是否使用開發模式,默認值false,開發時常設爲true
struts.custom.i18n.resources 指定struts2所須要的國際化資源文件,用英文逗號隔開

1. struts.xml中配置常量

使用<constant>標籤配置,屬性有name,valueweb

<struts>
    
    <constant name="struts.i18n.encoding" value="UTF-8"></constant>
    
    <constant name="struts.action.extension" value="action,,"></constant>
    
    <constant name="struts.devMode" value="true"></constant>
    ...省略
</struts>

2. struts.properties中配置常量

該文件包含了系列的鍵值對key=value的形式,每一個key就是一個Struts2常量名name,對應的value就是常量值valueapache

struts.i18n.encoding=GBK

3. web.xml中配置常量

在配置Struts2的核心Filter時,經過<init-param>子元素配置常量,其中<param-name>元素指明常量名name,<param-value>元素指明常量值value。app

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>struts2_4</display-name>
  
  <filter>
      <filter-name>struts2</filter-name>
      <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
      <init-param>
          <param-name>struts.i18n.encoding</param-name>
          <param-value>GBK</param-value>
      </init-param>
      <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>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>
一般推薦在 struts.xml中配置常量,而不是在struts.properties和web.xml中配置。之因此保留struts.properties文件定義Struts2屬性的方式,主要是爲了保持與WebWork的向後兼容性。在實際開發中不推薦在web.xml中配置常量,由於這種配置會增長web.xml文件的內容量,下降可讀性。

End...框架

相關文章
相關標籤/搜索