[Seasar-user:12426] Re: tbody内のinput値がValidatorメソッドで取得できません。
gaku furukawa
[E-MAIL ADDRESS DELETED]
2008年 1月 10日 (木) 11:13:08 JST
furukawaです。
小林さん、ありがとうございました。
勉強になりました。
Map paramは、名前の関係から使用できませんでしたので、
リクエストパラメータを独自に取得して実装することができました。
またよろしくお願い致します。
-----Original Message-----
From: [E-MAIL ADDRESS DELETED]
[mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of Koichi Kobayashi
Sent: Wednesday, January 09, 2008 6:00 PM
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:12420] Re:tbody内のinput値がValidatorメソッドで取得で
きません。
小林 (koichik) です.
Date: Wed, 9 Jan 2008 14:03:38 +0900
From: "gaku furukawa" <[E-MAIL ADDRESS DELETED]>
To: <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:12414] tbody内のinput値がValidatorメソッドで取得できま
せん。
> seasar + teeda で、tbodyの中にinput text のコンポーネントを配置して、
> その値を getXXXValidator メソッド内で、チェックしたいと思っていたのです
が、
> validatorメソッド内では値を取得することができませんでした。
> tbodyに指定したitemsオブジェクトもValidatorメソッド内ではnullになっていま
し
> た。
JSF の仕様ですね.
JSF では,処理を 6 つのフェーズで行います.
1.RESTORE_VIEW
2.APPLY_REQUEST_VALUES
3.PROCESS_VALIDATIONS
4.UPDATE_MODEL_VALUES
5.INVOKE_APPLICATION
6.RENDER_RESPONSE
入力パラメータの内容は 2 の APPLY_REQUEST_VALUES
フェーズで UIComponent ツリーに反映され,
4 のUPDATE_MODEL_VALUES フェーズで Page に
反映されます.
+---------+ 2 +-------------+ 4 +------+
| request | ----> | UIComponent | ----> | Page |
+---------+ +-------------+ +------+
詳細は JavaExpert #02 の Teeda 特集や,
JSF の解説などを参照してください.
getXxxValidator() は 3 の PROCESS_VALIDATIONS
フェーズで呼び出されるので,Page クラス側の情報を
参照することはできません.
# できるけど,コンテナから取得された状態のままで
# リクエストの内容は反映されてない.
getXxxValidator() でリクエストの内容を見るには,
Page クラスに Map 型の param プロパティを
持たせてください.
forEach を使っているとリクエストパラメータを
チェックするのはかなり大変だと思うので,
getXxxValidator() で頑張るよりは,Validator の
中で頑張る方がまだいいんじゃないかと思います.
> doXXX メソッドへ移ると、tbody に指定したItemsオブジェクトから、
> 値を取得することができたのですが、
doXxx() は INVOKE_APPLICATION フェーズで
呼び出されるためです.
--
<signature>
<name>Koichi Kobayashi</name>
<e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
</signature>
_______________________________________________
Seasar-user mailing list
[E-MAIL ADDRESS DELETED]
https://ml.seasar.org/mailman/listinfo/seasar-user
Seasar-user メーリングリストの案内