处理使用Handler在JSF中从构造函数抛出的异常

时间:2012-11-22 06:54:08

标签: exception jsf-2 exception-handling

大家好,             虽然这是我的第一个问题,但Iam过去常常在stackoverflow中阅读解决方案,我很高兴得到合适的答案。

我的问题是:有没有办法处理构造函数使用一些处理程序抛出的异常(而不是在每个构造函数中编写try和catch)并将页面重定向到error.xhtml。我使用JSF2。我如何识别异常是从构造函数抛出的。 等待你的回复。

1 个答案:

答案 0 :(得分:2)

首先,尽量避免在托管bean的构造函数中做任何事情,这是不必要的和丑陋的。使用@PostConstruct注释注释公共的无参数方法,并且保证在实例化托管bean之后立即运行该方法。

为解决您的主要问题,JSF提供了一个ExceptionHandler类,您可以覆盖该类以实现自定义异常处理。它以半声明的方式实现并全局应用,即用于整个JSF应用程序上下文。这个tutorial提供了实现处理程序的良好指南。从该教程中,请注意ExceptionQueuedEvent对象提供了有关抛出的异常的所有可用信息,包括抛出异常的JSF阶段,甚至是生成异常的组件