项目使用struts2+EXT结合,现在的问题是,EXT都是ajax请求,在操作过程中,session超时进入自定义拦截器,返回重新登陆的URL对应login页面,但是由于是ajax请求页面不会跳转,这个有没有办法解决? 整个项目都已经编码完成,所以能不能在架构的层面解决这个问题。这样要修改的工作量比较小。。
项目使用struts2+EXT结合,现在的问题是,EXT都是ajax请求,在操作过程中,session超时进入自定义拦截器,返回重新登陆的URL对应login页面,但是由于是ajax请求页面不会跳转,这个有没有办法解决? 整个项目都已经编码完成,所以能不能在架构的层面解决这个问题。这样要修改的工作量比较小。。
ajax一次,success了再form提交跳转
if(this.isSubmitByAjax(request)){
BaseAction action = (BaseAction)invocation.getAction();
action.setMessage("您尚未登录或会话已过期!");
return Constants.RESULT_NONE;
}
上面是服务器端核心代码
我所有的action都继承了BaseAction 并且BaseAction中有message变量 如果是ajax提交的 拦截器拦截后获得action 然后给message赋值 在客户端获得response中message的值即可
其实要解决的就是某局部Ajax请求发现超时的时候如何刷新整个页面,
相信这个问题的答案在Ext上面。