如果我的 JSF 应用程序,我有时会遇到一个错误,例如,在某处损坏用户会话 bean,并且用户被困在他们的屏幕上查看@一堆 java 异常 gobbly-gook。他们可以解决此问题的唯一方法是重新启动浏览器。
相反,我希望应用程序能够优雅地处理这样的事情......基本上是通过能够捕获任何这些未捕获的异常并显示错误消息(并且或可能包含允许用户注销/登录的链接,以便他们不要'不必重新启动他们的浏览器)。
JSF 有没有办法轻松做到这一点?如果没有,是否有人对此有解决方案?
如果我的 JSF 应用程序,我有时会遇到一个错误,例如,在某处损坏用户会话 bean,并且用户被困在他们的屏幕上查看@一堆 java 异常 gobbly-gook。他们可以解决此问题的唯一方法是重新启动浏览器。
相反,我希望应用程序能够优雅地处理这样的事情......基本上是通过能够捕获任何这些未捕获的异常并显示错误消息(并且或可能包含允许用户注销/登录的链接,以便他们不要'不必重新启动他们的浏览器)。
JSF 有没有办法轻松做到这一点?如果没有,是否有人对此有解决方案?
您可以只创建一个自定义错误页面并在<error-page>
中定义其位置web.xml
。
例如
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error.jsp</location>
</error-page>
你可以自由地让它看起来像你想要的那样。
瞄准 BalusC 提出的解决方案,因为从长远来看更容易维护,否则你可以尝试这样的事情(实际上我已经通过定义我自己的自定义视图处理程序来进行异常处理):Custom JSF/Facelet Exception处理