[Seasar-user:12739] Re: セッションタイムアウトについて

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2008年 2月 4日 (月) 22:30:10 JST


小林 (koichik) です.

Date:    Mon, 04 Feb 2008 20:49:46 +0900
From:    小川 昌幸 <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:12738] セッションタイムアウトについて

> 現在、Teedaにて開発を行っておりますが、
> セッションタイムアウト時にpageクラスのprerender()
> メッソドが呼ばれると聞いていましたが呼ばれない現象に
> つまづいてます。

それはどこで聞いたのでしょう?
文脈が分からないので何とも言えませんが,
基本的にセッションタイムアウトと prerender()
メソッドは関係ないように思います.

prerender() メソッドはセッションがどうであれ,
描画の前に呼び出されます.

> セッションは以下のようにDIしていますが
> なにか明示的にセッションスタートの記述が必要なのでしょうか?
> 
> //セッション取得(DI)
> public void setSessionScope(HttpSession sessionScope) {
>     this.sessionScope = sessionScope;
> }

これだと,既にセッションが存在する場合は
DI されますが,セッションが存在しなければ
何も DI されません.

何をやりたいかにもよりますが,直接 HttpSession を
使うより,session スコープの Dto を使う方がいいと
思います.
<root>.dto パッケージに

@Component(instance=InstanceType.SINGLETON)
public class XxxDto {
  ...
}

を用意して,

public void setXxxDto(XxxDto xxxDto) {
  this.xxxDto = xxxDto;
}

とすると,セッションが存在しなければ新たに
セッションが作成されて,XxxDto がセッションに
設定されます.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



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