是否可以从JavaServer Faces替换标准错误页面,例如
500 Internal Server Error
?
其中包括堆栈跟踪等信息。但是对于用户,当页面处于生产模式时,我想显示一个更友好的页面,说明请求没有成功。
是否可以从JavaServer Faces替换标准错误页面,例如
500 Internal Server Error
?
其中包括堆栈跟踪等信息。但是对于用户,当页面处于生产模式时,我想显示一个更友好的页面,说明请求没有成功。
开发堆栈跟踪可能来自您的 JSF 实现。禁用它的代码将特定于实现。对于Servlet 中的MyFaces,请在您的web.xml
:
<context-param>
<param-name>org.apache.myfaces.ERROR_HANDLING</param-name>
<param-value>false</param-value>
</context-param>
如果您使用的是 Sun 实现 ( Mojarra ),则可能有一些com.sun.faces...
键控参数。
您可能还想检查Facelets init 参数 facelets.DEVELOPMENT
的值(确保您没有将其设置为true
)。
要指定错误页面,您可以使用通常的容器机制。对于 Servlet,这将通过在 中指定错误页面 web.xml
,键入异常类型或错误代码。捕捉所有可抛物...
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/errorPage.faces</location>
</error-page>
您可能会在 JSF 实现中找到额外的特定于供应商的错误处理支持——您必须查看他们的文档。