複数のStrutsプロファイル構成アプリケーションの使用



チーム開発の過程で、大規模なstruts-config.xmlファイルは、組織を改善し、メンテナンスを容易にするために複数の小さなファイルに分かれています.struts-configを1つxmlは複数のプロファイルに分解されます.これらのファイルはActionServiceletとしてwebにある.xmlの初期化パラメータconfigのパラメータ値参照.
単一モジュールweb.xmlの構成は次のとおりです.
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>
org.apache.struts.action.ActionServlet
</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>
/WEB-INF/struts-config.xml,
/WEB-INF/struts-config-2.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet> 
ActionServiceletがロードされると、Strutsは複数のファイルをメモリに1つのファイルにマージします.
それらの膨大な応用にとってstruts-config.xmlファイルは大きくなり重くなります.多くのアプリケーションは、数百のactionを有する可能性があります.
Strutsはマルチプロファイルのサポートを導入しました.各プロファイルは有効なXMLである必要があります.Webでできます.xmlでは、これらのファイルをActionServiceletの初期化パラメータconfigの値として宣言します.これらのファイルは、カンマで区切られたパスリストとして指定できます.実行すると、これらのファイルはメモリに1つのファイルにマージされます.同じnameプロパティを持つ2つの異なるform bean宣言などの重複要素が表示される場合、最後の読み込みの構成が優先されます.
実際には、1つのモジュールに対してもマルチプロファイルを使用できます.上記のシナリオでは、config要素のparam-nameサブ要素の値は、ActionServiceletに対してデフォルトモジュールのStrutsプロファイルのパスを規定しています.付加モジュールはconfig/module-nameのparam-name値で規定されている.