[Seasar-user:10213] Re: [S2Struts]InterceptorにセッションのオブジェクトがDIされない
Takafumi Yoshida
[E-MAIL ADDRESS DELETED]
2007年 8月 30日 (木) 09:26:00 JST
いつもお世話になります。吉田@オプティクスです。
07/08/29 に Koichi Kobayashi<[E-MAIL ADDRESS DELETED]> さんは書きました:
> なるほど...
> LoginInfo は Dto ではないので,S2 で管理される
> コンポーネントではありません.
たしかにSMART Deployの対象外ですね..
> Action は外部バインディングが有効になっているため
> コンポーネントではない LoginInfo が DI されますが,
> Interceptor は外部バインディングが有効ではないため
> LoginInfo は DI されません.
ここも理解できます。
> 対処としては,LoginInfo を LoginInfoDto に
> 変更し (パッケージも <root>.dto に),
>
> @Component(instance=InstanceType.SESSION)
> public class LoginInfoDto {
> ...
> }
>
> としてインスタンス属性を session にしてください.
> これで LoginInfoDto は session スコープの
> コンポーネントとして扱われるようになります.
>
> その上で,
>
> > @ExportToSession
> > public LoginInfo getLoginInfo() {
> > return loginInfo;
> > }
>
> の @ExportToSession は取り除いてください.
> # プロパティの型と名前も LoginInfoDto に.
上記のようにしてセッションに格納したオブジェクトがInterceptorにDIされているのを
確認しました。
#ただ、作成中のPGではなぜか、LoginInfoDtoの各プロパティがnullになってたり..
#検証用のPGでは問題なかったので、どこかでnewしてそうだな〜
ありがとうございました。
|--------||--------||--------||--------||--------||--------|
有限会社オプティクス
700-0971
岡山県岡山市野田3-1-18 安田ビル5F
TEL:086-246-9321
FAX:086-246-5117
http://www.optics-net.com
mail:[E-MAIL ADDRESS DELETED]
gmail:[E-MAIL ADDRESS DELETED]
|--------||--------||--------||--------||--------||--------|
Seasar-user メーリングリストの案内