因为再control 上使用了 @Clear 注解导致拦截器失效
configInterceptor 中的配置
/** * 配置全局拦截器 */ @Override public void configInterceptor(Interceptors me) { me.add(new ExceptionInterceptor() ); }
ExceptionInterceptor 代码
import com.jfinal.aop.Clear; import com.jfinal.aop.Interceptor; import com.jfinal.aop.Invocation; public class ExceptionInterceptor implements Interceptor { private static final Logger log = LoggerFactory.getLogger(ExceptionInterceptor.class); @Override public void intercept(Invocation inv) { try { inv.invoke(); } catch (Exception e) { e.printStackTrace(); // 自己做对异常进行处理 内容 略 } }
Controller 中的内容 如果使用 了 @Clear 注解 就不到 ExceptionInterceptor 异常拦截器中了
// 如果 有@Clear 注解 则会跳过拦截器 , 导致配置的拦截器不生效 @Clear public class TestUserController extends Controller { public void index() { int i =1/0 ; } }
项目:JFINAL框架研学平台