[Seasar-user:3122] Re: [S2JSF] ページの初期化処理で無限ループ発生
Hirotaka HONMA
manhole
2006年 1月 26日 (木) 18:21:07 JST
本間です。
on Wed, 25 Jan 2006 16:16:15 +0900
in [Seasar-user:3120] Re: [S2JSF] ページの初期化処理で無限ループ発生
松山 大樹 <[E-MAIL ADDRESS DELETED]> wrote:
> 松山です。
>
> 現象を確認するためのサンプルを作成しました。
> 解凍後、/WEB-INF/lib の下に、s2jsf-blank の/WEB-INF/lib/*.jar
> をコピーしてきてください。
>
> http://localhost:8080/s2jsf-test2/ で実行できます。
>
> 最初に表示されるメニューに3つのリンクがあります。
> 1つめは、正常に初期化が行われ表示されます。
> 2つめは、クリックすると、初期化処理が無限に実行されます。
> 3つめは、クリックすると、最初の1回はエラーページが表示されますが、
> 2回めは、ブラウザに例外情報が表示されます。
現象を修正しました。(サンプルありがとうございます)
SNAPSHOT版をこちらへおいておきます。
http://hotchpotch.sourceforge.jp/temp/s2-jsf-1.0.14-SNAPSHOT.jar
http://hotchpotch.sourceforge.jp/temp/s2-jsf-1.0.14-SNAPSHOT-sources.jar
■原因
dispatchでsubmitした画面へ遷移した際に、再度decode処理が行わ
れていたことでした。
(「3つめ」がループしないのは、[Seasar-user:2725]で対応した
ためです。)
■修正内容
リクエスト内で初回のLifecycleでのみ
- APPLY_REQUEST_VALUES (2)
- PROCESS_VALIDATIONS (3)
- UPDATE_MODEL_VALUES (4)
- INVOKE_APPLICATION (5)
のフェーズを実行するように変更しました。
(dispatch後のLifecycleではスキップします。)
初期化Actionは RENDER_RESPONSE (6) フェーズで行っているため、
この変更の影響を受けません。
--
本間 宏崇 /** Hirotaka HONMA */
[E-MAIL ADDRESS DELETED]
ARK Systems Co., Ltd. : 株式会社アークシステム
Tel. 03-3666-8140 Fax. 03-3666-8143
〒103-0026 東京都中央区日本橋兜町8-8 中島ビル6F
Seasar-user メーリングリストの案内