[Seasar-user:14813] Re: インスタンスをセッションで管理について

Masao NADAI [E-MAIL ADDRESS DELETED]
2008年 6月 25日 (水) 16:40:57 JST


小林(koichi)様

diconファイルにcomponentを登録することにより、
セッションでインスタンス管理されるようになりました。
ありがとうございます。

dicon
----
<component name="searchCondition" class=[package].SearchCondition"
instance="session" />
----

Pageクラス
----
private SearchCondition searchCondition;

public void setSearchCondition(SearchCondition searchCondition) {
 this.searchCondition = searchCondition;
}
----

しかし、Ajaxで呼び出された場合、searchConditionのインスタンスは
DIされる(nullではない)ものの、searchConditionのプロパティ値は
初期化されてしまいます。
#Ajaxで呼び出されるメソッドは、Actionクラスに定義されています。

S2Ajax呼び出しでも、セッションでプロパティ値が保持されるように
するには、どうしたらよろしいでしょうか?

SearchConditionクラス
----
public class SearchCondition extends DefaultPagerCondition implements
Serializable {
 :
}
----

s2-framework-2.4.25
teeda-ajax-1.0.13
s2-dao-1.0.48
tomcat-6.0.14

よろしくお願いいたします。


08/06/25 に Koichi Kobayashi<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 小林 (koichik) です.
>
> Date:    Wed, 25 Jun 2008 04:01:02 +0900
> From:    Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>
> To:      [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:14810] Re: インスタンスをセッションで管理について
>
>> > public void setSessionDto(Session sessionDto) {
>> > this.sessionDto = sessionDto;
>> > }
>>
>> こちらは DI されそうに見えます.
>> # こぴぺして修正し忘れ?
>
> 失礼,クラス名が SessionDto ではなくて Session に
> なっていたのですね.
> この場合,Session クラスは SMART deploy の対象では
> ないので,dicon に明示的に登録する必要があります.
>
>
> --
> <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 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>


-- 
Nadai Collaborations Inc. http://www.collaborations.nadai.jp/
Masao Nadai mailto:[E-MAIL ADDRESS DELETED] tel:090-6181-8476


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