[Seasar-user:10171] Re: [S2Struts]Interceptor にセッションのオブジェクトがDIされない
Yasuo Higa
[E-MAIL ADDRESS DELETED]
2007年 8月 29日 (水) 16:38:14 JST
ひがです。
> いつもお世話になります。吉田@オプティクスです。
>
> S2Struts 1.3.0 RC1
> S2Framework 2.4.12
>
> 上記の環境で、独自に作成したInterceptorにセッションへ格納したオブジェクト
> がDIされず、悩んでいます。
>
> 以下のようなコードでテストしてみましたが、セッションに格納しているLoginInfo
> がDIされていません。
>
特に問題なさげですね。
Actionはインターフェースがあるかどうか確認してください。
インターフェースがない場合は、pointcutの指定が必要です。
後、無難なのは、
SingletonS2ContainerFactory.getContainer().getComponent()で
取得することです。
Seasar2に依存してしまいますが、Interceptorというごく少数の
ケースでの依存なので気にしなくてもいいのかなと思います。
> public class TestInterceptor extends AbstractInterceptor {
>
> private static final long serialVersionUID = 1L;
>
> private Log log = LogFactory.getLog(this.getClass());
>
> private LoginInfo loginInfo;
>
> public Object invoke(MethodInvocation invocation) throws Throwable {
>
> String className = invocation.getClass().getName();
> String method = invocation.getMethod().getName();
>
> log.info(className + "#" + method + "を実行中");
> if(loginInfo == null) {
> log.info("loginInfoがnull");
> } else {
> log.info("loginInfoが入っている");
> }
>
> return invocation.proceed();
> }
>
> public void setLoginInfo(LoginInfo loginInfo) {
> this.loginInfo = loginInfo;
> }
> }
>
> custmizer.diconには
>
> <component name="testAspectCustomizer"
> class="org.seasar.framework.container.customizer.AspectCustomizer">
> <property name="useLookupAdapter">true</property>
> <initMethod name="addInterceptorName">
> <arg>"testInterceptor"</arg>
> </initMethod>
> </component>
> <component name="actionCustomizer"
> class="org.seasar.framework.container.customizer.CustomizerChain">
> <initMethod name="addCustomizer">
> <arg>commandAspectCustomizer</arg>
> </initMethod>
> <initMethod name="addCustomizer">
> <arg>testAspectCustomizer</arg>
> </initMethod>
> </component>
>
> と記述しています。
> [Seasar-user:7847]あたりも参考にしてみたのですが...
> どうすればセッションのオブジェクトがDIされますでしょうか?
>
> |--------||--------||--------||--------||--------||--------|
> 有限会社オプティクス
> 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 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
--
Yasuo Higa
[E-MAIL ADDRESS DELETED]
Seasar-user メーリングリストの案内