[Seasar-user:10795] Re: [Teeda] レイアウトページのヘッダー差し替えをdoメソッドが呼ばれた後に行いたい

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 10月 1日 (月) 16:00:47 JST


小林 (koichik) です.

Date:    Mon, 01 Oct 2007 13:44:46 +0900
From:    Junichi Kato <[E-MAIL ADDRESS DELETED]>
To:       [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:10788] [Teeda] レイアウトページのヘッダー差し替えをdoメソッドが呼ばれた後に行いたい

> hoge.htmlのdoLoginボタンを押すと,
> 
> LayouPage.getHeaderIncludeSrcメソッドが呼ばれる
> isAuthedはセッションの認証情報をみるが,未認証なのでfalse
> 
> HogePage.doLoginメソッドが呼ばれる.
> ここで認証して,セッションに認証情報書き込み.
> 
> この流れになっています.
> 
> ログインボタンで日照しても,ヘッダーが差し変わらないので,再読込しないといけません.
> 
> なんとか,doLoginの後に,getHeaderIncludeSrcを呼んで,画面を更新したいのですが,
> 方法がないでしょうか?

getHeaderIncludeSrc() の評価はコンポーネント
ツリーを作成するタイミングで行われるので,
どうしても do〜() よりも前になります.

対策としては,do〜() メソッドで自分と同じ
クラスでもいいので Page クラスを返して
リダイレクトさせてください.
# return this.getClass() だと AOP が
# 適用されている場合にうまくいかないので注意
# return HogePage.class で.

あるいは,インクルードする HTML 自体を
切り替えるのではなく,同じ HTML を
インクルードして,その中で Condition を
使って表示を変えてください.


--
<signature>
   <name>Koichi Kobayashi</name>
   <e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
</signature>




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