1. 程式人生 > >Struts2之常量配置

Struts2之常量配置

常量配置

Struts2框架預設常量的位置

在struts2-core的jar包中.
在org.apache.struts2包下有default.properties檔案
在default.properties檔案中定義了struts2框架的常用常量.

如何自定義常量

1.可以在src下建立一個strtus.properties配置檔案
檔案的內容,可以根據default.properties檔案中的內容來修改
2.可以在web.xml檔案中配置
例如

<filter>
		<filter-name>struts2Filter</filter-name
>
<filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> 可以宣告struts2框架常量值 <init-param> <param-name>struts.i18n.encoding</param-name> <param-value>GBK</param-value> </init-param> </filter
>

init-param 標籤下就是定義的常量的鍵和值.
3.可以直接在strtus.xml檔案中定義常量 (推薦)
下面主要是介紹在struts.xml中進行常量的配置.

struts.xml中配置常量

在struts.xml中的struts標籤下,可以進行常量的配置.
用的是constant標籤.
constant標籤的name屬性為常量的鍵, value屬性為常量的值.
鍵都可以在default.properties檔案中查詢, 都有其預設的值.
可以根據自己需要,將其預設值進行改變.

介紹幾個常用的常量配置
下面這個常量配置的意義是,可以幫助我們解決post請求亂碼問題
<constant name="struts.i18n.encoding" value="UTF-8"></constant>


下面這個常量配置含義是 指定訪問strtsu2框架路徑的副檔名. 該例子是說前端傳送的請求,必須以.action結尾,後臺的action才能進行響應.
<constant name="struts.action.extension" value="action"></constant>
下面這個常量配置含義是開啟開發者模式.
它會提供更加詳細報錯資訊,以及在struts.xml檔案修改後不在需要重啟伺服器
<constant name="struts.devMode" value="true"></constant>

需要注意的一點

後加載的配置檔案中的常量會將先載入的常量覆蓋.
即如果在不同的配置檔案中,對同一個鍵值進行了常量的配置, 那麼後加載的配置檔案, 會對先載入的配置檔案中的值進行覆蓋掉.
配置檔案的載入順序如下

  1. 第一個載入的是default.properties檔案
    位置:strtus2-core.jar包 org.apache.struts2包下
    作用:主要是聲明瞭struts2框架的常量
  2. 第二個載入的是一批配置檔案
    Strtus-default.xml
    位置:struts2-corl.jar
    作用:聲明瞭interceptor result bean
    Strtus-plugin.xml
    位置:在strtus2的外掛包中
    作用:主要用於外掛的配置宣告
    Strtus.xml
    位置:在我們自己的工程中
    作用:用於我們自己工程使用strtus2框架的配置
  3. 第三個載入的是自定義的strtus.properties
    位置:都是在自己工程的src下
    作用:定製常量
  4. 第四自定義配置提供
  5. 第五載入的是web.xml配置檔案
    主要是載入strtus2框架在web.xml檔案中的相關配置.
  6. 第六 bean相關配置