[seasar-dev:854] InterceptorのDao取得
解金松
[E-MAIL ADDRESS DELETED]
2008年 7月 9日 (水) 11:57:33 JST
解です
いつもお世話になております。
public class LoginAuthInterceptor extends AbstractInterceptor {
private MessageDao messageDao;
// setter省略
public Object invoke(MethodInvocation invocation) throws Throwable {
// 以下,省略
}
以上方法のような利用すると、java.lang.NullPointerExceptionを出す。
public class LoginAuthInterceptor extends AbstractInterceptor {
private MessageDao dao;
public void setDao(MessageDao dao) {
this.dao = dao;
}
public MessageDao getDao() {
return dao;
}
public Object invoke(MethodInvocation invocation) throws Throwable {
...
Message[] mes = dao.getAllMessage();
...
}
app_aop.diconで宣言しました。
<components namespace="app_aop">
<component name="loginAuthInterceptor"
class="com.teeda.interceptor.LoginAuthInterceptor" />
</components>
customizer.diconで宣言しました。
<component name="authAspectCustomizer"
class="org.seasar.framework.container.customizer.AspectCustomizer">
<initMethod name="addInterceptorName">
<arg>"app_aop.loginAuthInterceptor"</arg>
</initMethod>
<property name="pointcut">"prerender"</property>
</component>
//messageDao.java
package com.teeda.dao;
import com.teeda.entity.Message;
public interface MessageDao {
public static final Class BEAN = Message.class;
public static final String ARGS_findByMessageId = "id";
public Message[] findByMessageId(String id);
public Message[] getAllMessage();
}
以上のような利用する場合、LoginAuthInterceptor のプロパティDao取得しませんでした。
だから、PageClassにプロパティDaoとgetter/ setter メッソードを利用して
Daoを取得できる。 私は使用の方法は間違いがあるですが。教えてください。
以上 よろしくお願いします。
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-dev/attachments/20080709/4c77effc/attachment.html>
Seasar-dev メーリングリストの案内