[Seasar-user:17732] Re: 起動時のインスタンス化について
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2009年 6月 12日 (金) 15:30:28 JST
小林 (koichik) です.
Date: Fri, 12 Jun 2009 11:46:52 +0900
From: 吉村 実 <[E-MAIL ADDRESS DELETED]>
To: <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:17727] 起動時のインスタンス化について
> Common.diconで
> <component name="userInfo" class="jp.go.XXXX.common.UserInfo"
> instance="session">
> <property name="navigateService">navigate.navigateService</property>
> </component>
>
> としているとき、
> “UserInfo”がインスタンス化されセッションに格納されるものと
> 思っているのですが、合っていますでしょうか?
タイトルに「起動時の」とありますが,それを含めるなら
違います.
Seasar2 の起動時というか初期化時には,まだ
HttpSession が存在しないため,コンポーネントは
インスタンス化されません.
> ログイン画面表示のActionで、
> UserInfoをinitializeする処理をしており、
> 以前の環境(2.3)では問題なかったのですが、
> 現在の環境(2.4)ですと、UserInfoがnullで、
> ヌルポとなり落ちてしまいます。
Action はどこに定義していますか?
app.dicon に定義しているか,SMART deploy で
自答登録されているなら UserInfo が DI される
はずですが,app.dicon からインクルードされている
別のdicon に定義されているなら,その dicon で
Common.dicon をインクルードしない限り不可視です.
# それは 2.3 でも同じです.
Seasar2 の dicon ファイルとコンポーネントの
スコープの関係は以下を参照してください.
http://s2container.seasar.org/2.4/s2-framework/ja/apidocs/org/seasar/framework/container/S2Container.html
--
<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 メーリングリストの案内