TilesFrameworkと
ActionForm.validate()
の組み合わせの場合、validate()
メソッド内でActionErrors
を発生させるとJSPの例外が起きる。
これは
validate()
メソッド内のエラーの時にstruts-config.xml
のaction
要素のinput
属性に遷移(Forward)する。例えば…
<action
attribute="sampleForm"
input="/sampleTemplate.jsp"
name="sampleForm"
parameter="action"
path="sample"
type="jp.co.foo.SampleAction">
<forward name="view" path="defaultView" />
<forward name="mainmenu" path="/nextPage.do" />
</action>
の場合、"http://domain:port/context/sampleTemplate.jsp"
へフォワードしようとする。しかし、この"sampleTemplate.jsp"
がTilesFrameworkのテンプレートとなるJSPの場合、何をinputすればよいのか分からないので例外が出る。
このときは、容赦なく、input
属性にTileFrameworkでForward先として指名する値を設定する。例えば…
<action
attribute="sampleForm"
input="defaultView"
name="sampleForm"
parameter="action"
path="sample"
type="jp.co.foo.SampleAction">
<forward name="view" path="defaultView" />
<forward name="mainmenu" path="/nextPage.do" />
</action>
のようにJSPファイルではなくdefinitions-config
のXMLファイル内で設定した遷移先で問題ない。
----そういえば、マルチモジュール(複数のstruts-config.xml
)等とかも書いとくと良いよね。
0 件のコメント:
コメントを投稿
この投稿へのリンク:
リンクを作成
<< ホーム