[Seasar-user:6346] Re: [Teeda]非JSFページからのアクセス時のライフサイクルにつ

Shinpei Ohtani [E-MAIL ADDRESS DELETED]
2007年 2月 26日 (月) 14:29:11 JST


大谷です。

> この初期表示のライフサイクルなのですが,
> JSFの資料を見て,私も上記の認識でしたが,
> 非JSFページAに対し,
> リクエストパラメータを設定し
> A.jsp?xxx=XXとかの設定を行うと,
> 以降のフェーズが通ることを確認しています。
> (org.seasar.teeda.core.lifecycle.impl.RestoreViewPhaseの
> executePhaseの最終行の処理)

こちらの件は調査してみます。

> 「TeedaExtensionを参考に」とのことですが、
> 具体的にどのクラスなりメソッドが参考になりますでしょうか?

org.seasar.teeda.extension.html.impl.HtmlViewHandlerです。
1.0.4であれば、restoreViewメソッドでinitializeが呼ばれ(postbackではない場合)、
renderViewでprerenderが呼ばれています。

宜しくお願いします。

07/02/26 に [E-MAIL ADDRESS DELETED]<[E-MAIL ADDRESS DELETED]>
さんは書きました:
> お世話になります。田口です。
> さっそくのご回答ありがとうございます。
>
> >の2つしかとおらないので、InvokeApplicationフェーズはとおりません。
> この初期表示のライフサイクルなのですが,
> JSFの資料を見て,私も上記の認識でしたが,
> 非JSFページAに対し,
> リクエストパラメータを設定し
> A.jsp?xxx=XXとかの設定を行うと,
> 以降のフェーズが通ることを確認しています。
> (org.seasar.teeda.core.lifecycle.impl.RestoreViewPhaseの
> executePhaseの最終行の処理)
>
> 「TeedaExtensionを参考に」とのことですが、
> 具体的にどのクラスなりメソッドが参考になりますでしょうか?
>
> 以上,よろしくお願いいたします。
>
>
> >大谷です。
> >
> >初期表示時にJSFのライフサイクルは
> >・RestoreViewPhase
> >・RenderResponsePhase
> >の2つしかとおらないので、InvokeApplicationフェーズはとおりません。
> >
> >なので、InvokeApplicationフェーズでPhaseListenerを仕掛けるのは
> >適切ではないと思います。
> >
> >TeedaExtensionを参考に、初期表示時にでも通る
> >・RestoreViewPhase
> >・RenderResponsePhase
> >にPhaseListenerを仕掛けるのがよいのではないでしょうか。
> >
> >以上宜しくお願いします。
> >
> >07/02/26 に [E-MAIL ADDRESS DELETED]<[E-MAIL ADDRESS DELETED]>
> >さんは書きました:
> >> 田口です。
> >> お世話になります。
> >>
> >> S2 2.4.6,Teeda1.0.4で開発を行っています。
> >> JSP表示前に初期化処理を行うため,
> >> PhaseListenerを作成し,initialize処理を行っていますが,
> >> 非JSFページからのアクセス時(初回表示),
> >> initialize処理が動かない事象が発生しています。
> >>
> >> initializeとprerenderの判定は,
> >> INVOKE_APPLICATIONフェーズにおいて,
> >> viewroot.getViewId()により取得したViewIdを,
> >> externalcontext.getRequestMap()により取得したRequestMapに保持し
> >> これをRENDER_RESPONSEフェーズの際に取得したViewIdと比較し,
> >> 違えばinitializeを行い,
> >> 同じであれば,同一画面表示とみなし,initializeを行わないように
> >> しています。
> >>
> >> そこで,JSFページAからJSFページBに遷移する場合は,
> >> INVOKE_APPLICATIONフェーズにおいて取得したViewIdはAなのですが,
> >> 非JSFページAからJSFページBに遷移する場合は,
> >> 取得したViewIdがAではなくBとなっており,
> >> initializeが行われない状態です。
> >>
> >> 非JSFページからのアクセス時でも
> >> 上記の処理がきちんと動作するようにするには
> >> どのような判定を行うようにすればいいでしょうか?
> >>
> >> 以上,ご教示ください。
> >> _______________________________________________
> >> Seasar-user mailing list
> >> [E-MAIL ADDRESS DELETED]
> >> https://ml.seasar.org/mailman/listinfo/seasar-user
> >>
> >
> >
> >--
> >=============================
> >Shinpei Ohtani
> >[E-MAIL ADDRESS DELETED]
> >=============================
> >_______________________________________________
> >Seasar-user mailing list
> >[E-MAIL ADDRESS DELETED]
> >https://ml.seasar.org/mailman/listinfo/seasar-user
> >
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>


-- 
=============================
Shinpei Ohtani
[E-MAIL ADDRESS DELETED]
=============================



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