[Seasar-user:19509] Re: 【Teeda】セッションスコープにDTOを格納・利用
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2010年 3月 17日 (水) 20:00:00 JST
小林 (koichik) です.
Date: Wed, 17 Mar 2010 14:27:50 +0900
From: 永守正樹 <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:19505] Re: 【Teeda】セッションスコープにDTOを格納・利用
> doLogin()で
> sessionScope.setAttribute("nid001taDto", nid001taDto);
>
> を忘れてました。
それをする場合,
> > 【Nid001taDto】
> > @Component(instance = InstanceType.SESSION)
のアノテーションは不要です.
逆に言うと,このアノテーションを指定するなら
> > 【LoginAuthInterceptor】(抜粋)
> >
> > public Object invoke(MethodInvocation invocation) throws Throwable {
> >
> > //Seasar2で管理しているオブジェクト経由でセッションを取得
> > Map<String, Object> sessionScope =
> > SingletonS2Container.getComponent("sessionScope");
というようなことはせず,
pubic Nid001taDto nid001taDto;
とすることで,Seasar2 により DI されるように
なります.
# customizer.dicon で useLookupAdapter に
# true を指定する必要があります.
この場合,ログインしてなくても Dto は常に
DI されるので,その中身 (d001User など) を
チェックする必要があります.
--
<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 メーリングリストの案内