ひがやすを技術ブログ

電通国際情報サービスのプログラマ

画面の初期化

あるページを初期化する必要があるときに、ページを呼び出しているActionで初期化用のデータをセットするのはいまいちです。
前のページのActionが次のページでしなければいけないことをしているためです。
これまでのActionは、入力値の処理という本来やるべきことのほかに、次の画面の準備という本来やるべきでない責任を負っていたのです。
できるだけ、ページ間は、疎結合であるべきです。
ページの初期化のために用意されているのが、type invokeです。

<span s:type="invoke" s:action="#{anAction.aMethod}"/>

この設定をbodyタグの直後に書いておきます。
Actionのプロパティは、requestやsessionから自動セットされます。
S2JSFは、JSFを内部では使っているけど、WebWork2に近い感じですね。