[Seasar-user:6411] [Teeda]初画面での画面遷移時のpostback値について

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2007年 2月 28日 (水) 14:55:30 JST


田口です。
お世話になります。

S2 2.4.6,Teeda1.0.4で開発を行っています。
PhaseListenerでのinitializeメソッドの実行可否判定に,
PostbackUtil.isPostBackを使用しています。
(trueなら画面遷移なし)

ところが,JSF初画面で別画面に遷移する場合,
PostbackUtil.isPostBackでtrueが帰ってきてしまいます。
なお,初画面以外では正常に動作しますし,
非JSFページからのJSF初画面表示時も正常に動作します。

PostbackUtil.setPostbackを行っている
RestoreViewPhase.setUpRestoreViewPhaseをデバッグで見ると
非JSFページから,(JSF初画面の)A画面への遷移時は,
previousViewIdがnullのため,falseになっていますが,
(JSF初画面の)A画面からB画面への遷移時は,
previousViewIdもViewIdもA画面であり,trueになっています。
B画面から,A画面に戻ると
viewIdがB画面,previousViewIdがA画面で,falseとなります。
以降は正常な動きです。

つまり,JSF初画面のみ,
PostbackUtil.setPostbackの値が
画面遷移を行ってもtrueになってしまいます。

これは仕様なのでしょうか?
対策方法について,ご教示ください。



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