xml:
<bean id="chkLoginAdvice" class="com.zjm.study.advice.chkLoginAdvice" />
<aop:config>
<aop:advisor pointcut="execution(* com.zjm.struts.action.LoginAction.login(..))" advice-ref="chkLoginAdvice" />
</aop:config>
action:
package com.zjm.struts.action;public class LoginAction extends DispatchAction { //分发action
public ActionForward login(ActionMapping mapping............) {
//.........
}
}
around拦截器:
package com.zjm.study.advice;public class chkLoginAdvice implements MethodInterceptor {
public Object invoke(MethodInvocation arg0) throws Throwable {
System.out.println("测试拦截");       //这句没打印出来,没拦住.....
return null;
}
}没拦住啊,拦截器里打印的“测试拦截”,控制台没有

解决方案 »

  1.   

    切入点改成:execution(* com.zjm.struts.action.*.*(..))

    public ActionForward login(ActionMapping mapping............) 
    改成
    public ActionForward execute(ActionMapping mapping............) 
    就可以了这是怎么回事啊,难道分发action拦不住么???
      

  2.   

    你可以试试 
    切入点改成:execution(* com.zjm.struts.action.*.*(..)) 其他不变,
    或者改成: pointcut="execution(* com.zjm.struts.action.LoginAction.login(ActionMapping mapping............))//完整的方法签名.
      

  3.   

    好像spring的aop拦截不到继承自dispathcerAction的方法
      

  4.   

    我继承ActionSupport的action也拦截不上,最后只好在业务层拦截
      

  5.   

    你用struts2的话就好拦了,在struts.xml中配置一下就可以了很实用也不难