一起请求被拦截器拦截2次,方法执行了2次,求大神破解

@Override
public void intercept(Invocation inv) {
    log.debug("登陆拦截器...");
    String uri = inv.getActionKey(); // 默认就是ActionKey
    log.debug("当前路径"+uri);
    Controller controller = inv.getController();
    User user =controller.getSessionAttr("sysUser");
    if(user == null){
        log.debug("未登录返回登陆页面...");
        controller.redirect(controller.getRequest().getContextPath()+"/index");
        return;
    }else{
        inv.invoke();
        return;
    }
}

//SerController 中方法

public void M2231() {
    log.debug("2231--全专业设备健康度排名");
    SerService serService = Duang.duang(SerService.class);
    serService.M2231();//测试
    render("2231.jsp");
}

222.png

去掉拦截器就没有这种情况发生,请各位朋友指点一下

评论区

JFinal

2016-10-27 21:25

按照下面几个方式找下原因:
1:在浏览器上按一下 F12,打开浏览器调试工具,然后再地址栏请求这个 action,看浏览器发了几个请求到这个 action,因为很多页面会有这个发多次请求的行为

2:在控制台看一下请求到来时的各个参数

JFinal

2016-10-27 21:27

还有,拦截器被声明在了哪里? 是全局?

FS心情

2016-10-27 21:45

@JFinal 启动时候加载的全局

FS心情

2016-10-28 09:28

错误应该是easyui添加tabs引起的

zempty

2016-10-28 11:34

是不是你的handler放行了两次

FS心情

2016-10-28 13:10

@zempty 是我发起了2次请求

热门反馈

扫码入社