【问题标题】:Using JSF1.2, how to raise a 404 error from the backing bean?使用 JSF1.2,如何从 backing bean 引发 404 错误?
【发布时间】:2011-12-02 15:55:02
【问题描述】:

我看到 JSF 2.0 中的 ExternalContext 有一个方法 setResponseStatus,我如何使用 JSF 1.2 来做到这一点? 提前致谢!

【问题讨论】:

    标签: java http jsf jsf-1.2


    【解决方案1】:

    在 JSF 1.x 中,您需要通过ExternalContext#getResponse() 获取HttpServletResponse,然后在其上调用setStatus()。这基本上也是新的 JSF 2.0 方法在幕后所做的。

    HttpServletResponse response = (HttpServletResponse) externalContext.getResponse();
    response.setStatus(HttpServletResponse.SC_NOT_FOUND);
    // ...
    

    【讨论】:

    • 谢谢!将getResponse() 的返回值转换为HttpServletResponse 是否安全?为什么需要投射?
    • 是的,如果您在 JSP/Servlet webapp 之上运行 JSF 是安全的。然而,JSF 也可以在 Portlet webapp 之上使用,然后转换会失败。另请参阅ExternalContext 的 javadoc,它提到了 servlet 和 portlet 在现有委托方法的行为方面的差异:docs.oracle.com/javaee/6/api/javax/faces/context/…
    猜你喜欢
    • 1970-01-01
    • 2011-08-27
    • 2013-08-23
    • 1970-01-01
    • 2015-07-22
    • 2014-08-10
    • 2023-03-14
    • 1970-01-01
    • 2018-12-25
    相关资源
    最近更新 更多