我该如何优雅地处理JSF应用程序失败?

我该如何优雅地处理JSF应用程序失败?

问题描述:

如果我的JSF应用程序,我有时会遇到一个错误,例如,在某处损坏用户会话bean,并且用户看到屏幕上出现一堆Java异常gobbly-gook。他们可以解决这个问题的唯一方法是重新启动浏览器。我该如何优雅地处理JSF应用程序失败?

相反,我希望应用程序能够优雅地处理这样的事情......基本上能够捕获任何这些未捕获的异常并显示错误消息(并且可能包含允许用户注销/登录,所以他们不必重新启动浏览器)。

有没有办法让JSF轻松做到这一点?如果没有,有没有人有这个解决方案?

您可以创建自定义错误页面并在<error-page>web.xml中定义其位置。

E.g.

<error-page> 
    <exception-type>java.lang.Exception</exception-type> 
    <location>/error.jsp</location> 
</error-page> 

你有所有的自由让它看起来像你想要的样子。

+0

谢谢。这正是我所期待的! – wsaxton 2010-10-08 19:48:57

针对BalusC提出的解决方案,因为从长远来看更容易维护,否则你可以尝试这样的事情(其实我已经做了类似的定义我自己的自定义视图处理程序的异常处理):Custom JSF/Facelet Exception Handling