interceptor拦截某个controller后,怎么在页面中弹出拦截的错误提示?

tommy402 发布于 2015/08/31 12:07
阅读 191
收藏 1

@JFinal

    波总好,我现在想做一个当登录信息session超时后,直接在访问当前的功能页面中弹出提示页面(如:超时弹出登录页面(其他拦截器直接弹出拦截的错误信息),登录后当前页面还可以继续操作,数据不丢失)。貌似现在jfinal中的render、redirect、forwardAction中在当前页面中直接跳转,不能达到我描述的效果,请波总指点解决方案。 

public void intercept(Invocation inv) {
        User user = inv.getController().getSessionAttr("user");
        if(user != null){
            inv.invoke();
        }else{
            inv.getController().render("login.html");//怎么能在被拦截的controller的返回的当前页面中弹出拦截的提示信息?
        }
    }

加载中
0
JFinal
JFinal
    只需要在前端使用 ajax 访问后端,在后端响应相应的数据即可。这个问题本质上与后端无关,因为只要是非 ajax 请求,都会造成页面的跳转。
JFinal
JFinal
回复 @tommy402 : 可以使用 ajax + 跳转结合的方式,ajax 请求后端得到数据,根据需求决定是停留在当前页显示信息还是跳转
红薯的小黄瓜
红薯的小黄瓜
建一个sessionlistener,当session失效的时候,记录下来当前用户的请求的地址,sesion超时重新登录成功后再跳转到用户之前的操作界面
t
tommy402
那如果是这样,除非我所有的页面全都是ajax请求才行喽,否则我说的这种就实现不了了?
返回顶部
顶部