[Seasar-user:10167] [S2Struts]InterceptorにセッションのオブジェクトがDIされない

Takafumi Yoshida [E-MAIL ADDRESS DELETED]
2007年 8月 29日 (水) 16:12:33 JST


いつもお世話になります。吉田@オプティクスです。

S2Struts 1.3.0 RC1
S2Framework 2.4.12

上記の環境で、独自に作成したInterceptorにセッションへ格納したオブジェクト
がDIされず、悩んでいます。

以下のようなコードでテストしてみましたが、セッションに格納しているLoginInfo
がDIされていません。

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 メーリングリストの案内