1. 程式人生 > >Struts2中配置常量的3種方式及包含其他配置檔案

Struts2中配置常量的3種方式及包含其他配置檔案

Struts2中配置常量總共有3種方式:

① 通過struts.properties檔案。

② 通過struts.xml配置檔案。

③ 通過Web應用的web.xml檔案。

         Struts2的所有配置檔案,包括struts-default.xml,struts-plugin.xml,甚至使用者自定義的、只要能被Struts2載入的配置檔案,都可以使用常量配置的方式來配置Struts2常量。

如下struts.xml配置片段配置了一個常量,該常量即可替代struts.properties檔案中的配置屬性。



             上面程式碼配置了一個常用屬性:struts.custom.i18n.resources,該屬性指定了應用所需的國際化資原始檔的baseName為mess。

除此之外,當我們在web.xml檔案中配置StrutsPrepareAndExecuteFilter時也可配置Struts2常量,此時採用為StrutsPrepareAndExecuteFilter配置初始化引數的方式來配置Struts2常量,如下所示:


       通常推薦在struts.xml檔案中配置Struts2屬性,而不是在struts.properties中。之所以保留使用struts.properties配置屬性的方式,主要是為了保持與WebWork的向後相容性。

包含其他配置檔案:

     在預設情況下,Struts2只自動載入類載入路徑下的struts.xml、struts-default.xml和struts-plugin.xml三類檔案。但隨著應用規模的增大,系統中Action數量也大量增加,將導致struts.xml檔案變得非常臃腫。

      為了避免struts.xml檔案過於龐大,提高struts.xml檔案的可讀性,我們可以將一個struts.xml檔案分解成多個配置檔案,然後在struts.xml中包含其他配置檔案。

       下面的struts.xml檔案中就通過include手動匯入了一個配置檔案:struts-part1.xml檔案,通過這種方式,就可以將Struts2的Action按照模組配置在多個配置檔案中。


通過這種方式,Struts2能以一種模組化的方式來管理struts.xml配置檔案。

被包含的struts-part1.xml檔案是標準的Struts2配置檔案,一樣包含了dtd資訊、Struts2配置檔案的根元素等資訊。