如题!怎么在通知的方法中获取application或session对象?

解决方案 »

  1.   

    在切入点bean中以参数的形式传递,在通知中读取变量
    timeBookProxy.doAuditing(HttpServletRequest request);public class AuthorityInterceptor implements MethodInterceptor {    
       
        public Object invoke(MethodInvocation invocation) throws Throwable    
        {    
            HttpServletRequest request = null;    
            ActionMapping mapping = null;    
            Object[] args = invocation.getArguments();    
            for (int i = 0 ; i < args.length ; i++ )    
            {    
                if (args[i] instanceof HttpServletRequest) request = (HttpServletRequest)args[i];    
                if (args[i] instanceof ActionMapping) mapping = (ActionMapping)args[i];    
            }    
            if ( request.getSession().getAttribute("adminname") != null)    
            {    
                return invocation.proceed();    
            }    
            else   
            {    
                return mapping.findForward("login");    
            }    
        }    
    }