[Seasar-user:1932] Re: S2JSF の無限ループ
Yasuo Higa
higa
2005年 5月 6日 (金) 13:12:12 JST
<[E-MAIL ADDRESS DELETED]> の、
"[Seasar-user:1931] S2JSFの無限ループ" において、
"Takahashi Kenichi <[E-MAIL ADDRESS DELETED]>"さんは書きました:
ひがです。
> はじめまして。高橋と申します。
>
> ・現在の問題
> 確認画面で「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の実装は、現場で本当に使われているのかと
疑問に思ったり。
---
ひがやすを(http://d.hatena.ne.jp/higayasuo/)
Seasar-user メーリングリストの案内