サーブレット・JSPメモ018:Struts:Struts設定ファイルを分割した際のパス
環境
JDK 1.6.0_24
Struts 1.3.10
Struts関連の記事:
サーブレット・JSPメモ015:Struts:StrutsタグライブラリでInvalidCancelException
サーブレット・JSPメモ016:Struts:validator-rules.xml
サーブレット・JSPメモ017:Struts:Tilesの利用
モジュール分割するとモジュールごとにStruts設定ファイルを指定できる。下記は 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</param-value>
</init-param>
<init-param>
<param-name>config/admin</param-name>
<param-value>/WEB-INF/struts-config-admin.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
上記の設定の場合、アプリケーションルートが "http://localhost:8080/example/" の場合、adminモジュールには "http://localhost:8080/example/admin/" 以下のURLでアクセスでき、その設定ファイルは struts-config-admin.xml である。
その struts-config-admin.xml のaction要素やforward要素のパス(path属性の値ではなく実際のパスを指定する値)は /admin からの相対パスになる。
<action path="/toTestAction" type="org.apache.struts.actions.ForwardAction" parameter="/user.jsp" /> <action path="/testAction" type="chap06.TestAction" name="sample_userForm" parameter="method"> <forward name="success" path="/sub/result.jsp" /> </action>
struts-config.admin.xml の上記のようなaction要素がある場合、parameter属性の値 "/user.jsp" の user.jsp はadminディレクトリに、forward要素のpath属性の値 "/result.jsp" の result.jsp はadmin/subディレクトリになければならない。


Recent Comments