如何在 JSF 操作方法中重定向到纯 HTML 页面



我有一个普通的HTML页面error.html。当我使用

return "error.html?faces-redirect=true";

它实际上会重定向到error.xhtml,而不是error.html

如何在 JSF 操作方法中重定向到非 JSF 页面?

导航事例结果被视为 JSF 视图。因此,它总是期望 JSF 视图。如果由于某种不清楚的原因无法将error.html重命名为 error.xhtml(请记住,您可以在 Facelet 页面中安全地使用纯 HTML),那么您需要使用 ExternalContext#redirect() 自行发送重定向到非 JSF 资源。

public void someAction() throws IOException {
    // ...
    ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
    ec.redirect(ec.getRequestContextPath() + "/error.html");
}

相关内容

  • 没有找到相关文章

最新更新