[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 メーリングリストの案内