ExternalContext#dispatch() 不起作用



我有服务器端倒计时计数器。当== 0时,方法应该执行ExternalContext#dispatch(),但它没有执行。方法ExternalContext#redirect()在此位置正常工作。

....
        }else{
        try {
            FacesContext.getCurrentInstance().getExternalContext().dispatch("result.xhtml");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
....

我尝试了几种拼写url的方法(result,result.xhtml,result.xhtml等),结果相同。

这不是让JSF导航到不同视图的正确方法。

如果你在一个动作方法中,你应该把它作为字符串返回。

public String submit() {
    // ...
    return "result.xhtml";
}

或者如果你不在一个动作方法中,并且由于某些不清楚的原因不能将其更改为一个完整的动作方法,那么使用NavigationHandler#handleNavigation()代替。

FacesContext context = FacesContext.getCurrentInstance();
context.getApplication().getNavigationHandler().handleNavigation(context, null, "result.xhtml");

相关内容

  • 没有找到相关文章

最新更新