[Seasar-user:1933] Re: S2JSF の無限ループ

Takahashi Kenichi den03057
2005年 5月 6日 (金) 15:09:50 JST


高橋です。

>>・現在の問題
>>確認画面で「m:action="#{hoge.goPrevious}"」となっている戻るボタンを
>>押すと、登録画面に戻り、「m:action="#{hoge.goConfirm}"」が勝手に起動
>>される。
>>その後、確認画面にあるhoge.goPreviousが再び起動され、無限ループになる。
>>
> 
> 確認画面と登録画面のformに違うidをつけてください。
> それで大丈夫だと思います。
> 偶然、確認画面のhoge.goPreviousと登録画面のhoge.goConfirmに
> 同じidが付いているんだと思います。

上記の解決策で無事動作いたしました。
ありがとうございました。

> 後、org.seasar.jsf.lifecycle.LifecycleImpl#executeの
> applyRequestValues(context);
> の後に
> if (isGetRedirect(context)) {
>     sessionMap.put(REDIRECTED_TIME_ATTR,
>         new Long(System.currentTimeMillis()));
> }
> を入れると別のidを付けなくてもなおりそうな気がするんですけど
> どうでしょうか。試してみていただけないでしょうか。

試してみましたが、残念ながら動作しませんでした。

> LifecycleImplを見るといかにS2JSFが苦労しているのかがわかります。(笑)
> というか苦労していない他のJSFの実装は、現場で本当に使われているのかと
> 疑問に思ったり。

確かに、かなり苦労しているのがわかりました。
今まで、S2ファミリーのソースは見ていなかったのですが、これを機会に少し
ずつ読ませていただこうと思います。

今後ともよろしくお願いいたします。

/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
高橋健一 (Takahashi Kenichi)
e-mail: [E-MAIL ADDRESS DELETED]



Seasar-user メーリングリストの案内