JSF2重定向问题

时间:2012-06-06 22:07:17

标签: jsf-2 richfaces

我有登录页面和仪表板页面。

一旦显示登录过程完成仪表板页面(使用导航规则)。

  <navigation-rule>
        <from-view-id>/login.xhtml</from-view-id>
        <navigation-case>
            <from-outcome>dashboard</from-outcome>
            <to-view-id>/viewp/dashboard.xhtml</to-view-id>
        </navigation-case>
    </navigation-rule>

我有所有请求的过滤器映射。

这是我的方案,我的仪表板页面上有客户端轮询器。当服务器重新启动时,轮询器发送将由Filter解释的请求。

Inside Filter我有像

这样的逻辑
If(url.contains("login.xhtml))
{
//dofilter
}else
{
// redirect to login.
}

但不知何故,这不是重定向。

我的一个观察是,登录后即使我在仪表板页面上,我的网址仍然是mydomain/login.xhtml。我认为,因为浏览器中的网址为mydomain/login.xhtmlresponse.redirect("mydomain/login.xhtml")无效。有什么建议吗?

谢谢,

1 个答案:

答案 0 :(得分:1)

poller由JavaScript / Ajax执行,对吧?好吧,如果服务器返回302而不是200并且相应地处理,你必须检查JavaScript / Ajax。对于返回的JavaScript / Ajax响应,浏览器本身不会自动执行此操作,但仅针对同步请求的响应。

您可以在JavaScript中使用window.location来执行“重定向”。 E.g。

if (ajaxResponseStatus == 302) {
    window.location = newURL;
}