大家好, 虽然这是我的第一个问题,但Iam过去常常在stackoverflow中阅读解决方案,我很高兴得到合适的答案。
我的问题是:有没有办法处理构造函数使用一些处理程序抛出的异常(而不是在每个构造函数中编写try和catch)并将页面重定向到error.xhtml。我使用JSF2。我如何识别异常是从构造函数抛出的。 等待你的回复。
答案 0 :(得分:2)
首先,尽量避免在托管bean的构造函数中做任何事情,这是不必要的和丑陋的。使用@PostConstruct
注释注释公共的无参数方法,并且保证在实例化托管bean之后立即运行该方法。
为解决您的主要问题,JSF提供了一个ExceptionHandler
类,您可以覆盖该类以实现自定义异常处理。它以半声明的方式实现并全局应用,即用于整个JSF应用程序上下文。这个tutorial提供了实现处理程序的良好指南。从该教程中,请注意ExceptionQueuedEvent
对象提供了有关抛出的异常的所有可用信息,包括抛出异常的JSF阶段,甚至是生成异常的组件