【问题标题】:Custom 500 error page using JSF - is the full error message available?使用 JSF 的自定义 500 错误页面 - 是否有完整的错误消息可用?
【发布时间】:2011-12-25 22:57:34
【问题描述】:

在我的 web.xml 中,500 错误由 JSF 页面处理:

<error-page>
    <error-code>500</error-code>
    <location>/errorpage.html</location>
</error-page>

如果容器处理 500 错误并调用此 JSF 页面,请求中是否有包含完整错误消息的请求参数或正文内容?

例如,如果我在 Servlet 中使用此代码来提供带有 500 错误的错误描述:

response.sendError(HttpURLConnection.HTTP_INTERNAL_ERROR, "Some error message");

有没有一种标准方法可以从请求中获取文本“一些错误消息”?

【问题讨论】:

    标签: java jsf servlets error-handling web.xml


    【解决方案1】:

    它可以作为请求属性使用,键为RequestDispatcher#ERROR_MESSAGE,即"javax.servlet.error.message"。所以,应该这样做:

    <p>The error message is: #{requestScope['javax.servlet.error.message']}</p>
    

    (注意:我假设您使用的是 Facelets;对于 JSP,您必须将其放入 &lt;h:outputText&gt;

    【讨论】:

    • 我正在尝试这个,我只能得到javax.servlet.error.exception,但不能得到javax.servlet.error.messagejavax.servlet.error.exception_type 或其他任何一个。可能是什么原因?
    猜你喜欢
    • 1970-01-01
    • 2013-10-06
    • 2015-08-26
    • 1970-01-01
    • 2013-04-08
    • 2015-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多