[Seasar-user:5884] Re: [Teeda][S2AOP] Page クラスにAspectをかけるには

Yasuo Higa [E-MAIL ADDRESS DELETED]
2007年 1月 25日 (木) 10:38:24 JST


ひがです。

> 佐藤です。いつもお世話になっております。
> 
> S2.4では customizer.diconを使ってInterceptorをかけるとのことですが、
> 特定のPageにだけ(もしくは特定のPage以外のPageに)Interceptorをかけるには
> どのようにしたらよいでしょうか?
> 
特定のPageだけなら、Pageクラスに
@Aspect(インターセプタ名)
public String doHoge() {
  ...
}
みたいにできます。

> AspectAutoRegisterの addClassPattern, addIgnoreClassPattern のような
> 形で、適用するクラスを指定したいのです。
> 
これは、取り込む方向で検討したいと思います。


> > >
> > > HogePage page = (HogePage)invocation.getThis();
> > >
> > > とすると、ClassCastExceptionが発生してしまいました。
> > > (「HogePage$$EnhancedByS2AOP$$2a2cc だよ」と起こられているようです。)
> > > これは仕様でしょうか?
> > >
これは、恐らくInterceptorは、diconファイルに登録されている(HOTではない)が
HogePageはHOTで動いているからですね。
Interceptorをxxx.yyy.interceptorのパッケージにおいてください。

よろしくお願いします。

Yasuo Higa
The Seasar Project



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