使用的是Ext4,springmvc。在web.xml里设置有登录超时时间。在界面操作的时候,如果登录超时了,就会直接返回登录页面,但是由于用的是js,没有页面跳转,所以这里返回登录页面,也没法自己跳到登录页面去。资料找了很长时间,终于找到解决方法了。
Ext.Ajax.on('requestcomplete',checkUserSessionStatus, this);
function checkUserSessionStatus(conn,response,options){
if(response['request']['headers']['X-Requested-With']=="XMLHttpRequest"){
var text = response.responseText;
try{
eval('('+text+')');
}catch(e){
window.location.href='<%=request.getContextPath()%>/login.jsp';
return ;
}
}
}
这一段代码直接写在登陆成功后跳转的界面里。测试通过。
参考资料:http://juchanghuan.iteye.com/blog/527935
另外这一个资料 http://www.cnblogs.com/petali/archive/2009/02/17/1392677.html ,不知道是版本的问题,还是这么样,我这里的Ext.data.Connection下没找到doFormUpload、handleResponse、handleFailure这三个方法,所以没法用了