[Seasar-user:2712] Re: [S2JSF] セッションが切れた後に同じ画面が再表示される件

Yasuo Higa higa
2005年 10月 18日 (火) 20:34:57 JST


<[E-MAIL ADDRESS DELETED]> の、
   "[Seasar-user:2682] Re: [S2JSF] セッションが切れた後に同じ画面が再表示される件" において、
   "Yamoto Takuhei <[E-MAIL ADDRESS DELETED]>"さんは書きました:

ひがです。

> 八本と申します。
> 
> > s2jsf-example1.0.7を使って、各機能を検証しているのですが、
> > 例えばトップページを開いていて、セッションが切れた後に
> > リンクをクリックするとトップページが再表示されます。
> > もう一度同じリンクをクリックすると、そのページへ遷移します。
> 
> この現象は、セッション切れでトップページのコンポーネント
> ツリーが失われたために発生しているのではないでしょうか。
> 
調べました。
確かにその通りです。

> たしか、JSF1.1では表示しようとしたページのコンポーネント
> ツリーが存在しない場合は当該ページをはじめて表示しようと
> していると認識され、RestoreViewフェーズの直後に
> RenderResponseフェーズに遷移するようになっていたと思い
> ます。
> 
S2JSFでは、いきなりRenderResponseフェーズに遷移することはしないのですが、
結局、UIViewRoot以外のコンポーネントがいないため、
リクエストの内容をデコードするコンポーネントが存在せず、
クリックが無視されて、最初の画面が表示されます。

JSFでは、コンポーネントのツリーは、JSFのタグがrenderされるときに
しか構築できないので、ツリーを何とか構築してデコードさせると
いうこともできません。

というわけで、これは、"STATE_SAVING_METHOD"="server"の場合のJSFの仕様で
プログラムでどうにかできません。

> "STATE_SAVING_METHOD"を"client"にすることで回避できない
> でしょうか。
> 
これが、うまく機能するなら、大丈夫だと思いますが、現状うまくいかない
ですね。
この原因は、根が深そうで直ぐに答えが出せそうにありません。m(_ _)m
というわけで、今のところS2JSFの仕様とさせてください。m(_ _)m
---
Yasuo Higa <[E-MAIL ADDRESS DELETED]>
INFORMATION SERVICES INTERNATIONAL-DENTSU,LTD.



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