[seasar-dev:849] Re: S2Containerを利用するの件
Junichi Kato
[E-MAIL ADDRESS DELETED]
2008年 7月 8日 (火) 18:50:51 JST
加藤です.
InterceptorにDaoのプロパティとsetterを持たせて,DIさせればよいのではないでしょうか?
もちろん,publicプロパティでもよいでしょうが.
public class LoginAuthInterceptor extends AbstractInterceptor {
private MessageDao messageDao;
// setter省略
public Object invoke(MethodInvocation invocation) throws Throwable {
// 以下,省略
}
というか,このようなメールはSeasar userの方がよいかと思います.
ここはSeasarのプロダクト開発用MLなのでw
2008/07/08 18:06 解金松 <[E-MAIL ADDRESS DELETED]>:
> S2Containerを利用する
> Interceptor を作成時、DBからデータを抽出機能がある場合、Daoを利用ほしいです。
> でも、取得ほしいのDAOは取得しなけど、どしようが。教えてください。
> 以下Interceptor クラスです。
> public class LoginAuthInterceptor extends AbstractInterceptor {
> ...
> public Object invoke(MethodInvocation invocation) throws Throwable {
> Object ret = null;
> if(invocation.getClass().getName().startsWith("com.teeda.web.login.LoginPage"))
> return null;
> if(invocation.getClass().getName().startsWith("com.teeda.web.error.ErrorPage"))
> return null;
> HttpSession session = (HttpSession)
> container.getParent(0).getExternalContext().getSession();
> // 取得ほしいのDaoです、
> MessageDao dao = (MessageDao)
> this.getContainer().getComponent(MessageDao.class);
>
> ...
> }
> 以上、よろしくお願いします。
> _______________________________________________
> Seasar-dev mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dev
>
>
--
/**
* name : Junichi Kato
* email : [E-MAIL ADDRESS DELETED]
*
* blog : http://d.hatena.ne.jp/j5ik2o/
*
* commiting projects :
* http://jiemamy.org/
* http://s2chronos.sandbox.seasar.org/
* http://s2config.sandbox.seasar.org/
*/
Seasar-dev メーリングリストの案内