从页面的内部div调用response.redirect以将新页面加载到浏览器上

时间:2013-02-03 16:36:06

标签: java ajax jsp

我正在使用ajax加载方法将一些页面内容加载到我的index.jsp中名为“center_column”的内部div中。

$('#center_column').load('abc.jsp', function() {    });

但是在加载时我想检查会话超时并将请求重定向到登录页面。此会话超时代码位于'abc.jsp'

我用过

response.sendRedirect("login.html");

方法。但是这将在 #center_column div中重新加载login.html。

但是我想将login.html加载到浏览器而不是浏览器上的现有页面(index.jsp)。而且我想在不使用javascript的情况下解决这个问题。

任何人都可以指导我解决这个问题

由于

1 个答案:

答案 0 :(得分:0)

你必须使用javascript,但它是最小的。尝试在服务器上处理会话检查,如下所示:

if (request.getSession(false) == null) {
    response.sendError(HttpServletResponse.SC_FORBIDDEN);
    return;
}

然后在客户端的回调函数中,

$('#center_column').load('abc.jsp', function(responseText, textStatus, xhr) {
    if (xhr.status == 403)
        window.location = '/login.html';
});