- All Implemented Interfaces:
FacesListener,SystemEventListener,FacesWrapper<ExceptionHandler>,EventListener
The FacesMessageExceptionHandler will add every exception as a global FATAL faces message.
Installation
This handler must be registered by a factory as follows in faces-config.xml in order to get it to run:
<factory>
<exception-handler-factory>org.omnifaces.exceptionhandler.FacesMessageExceptionHandlerFactory</exception-handler-factory>
</factory>
Note
It's your own responsibility to make sure that the faces messages are being shown. Make sure that there's a
<h:messages> or any equivalent component (OmniFaces, PrimeFaces, etc) is present in the view and
that it can handle global messages and that it's explicitly or automatically updated in case of ajax requests. Also
make sure that you don't have bugs in rendering of your views. This exception handler is not capable of handling
exceptions during render response. It will fail silently.
Customizing FacesMessageExceptionHandler
If more fine grained control of creating the FATAL faces message is desired, then the developer can opt to extend
this FacesMessageExceptionHandler and override the following method:
- Since:
- 1.8
- Author:
- Bauke Scholtz
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionConstruct a new faces message exception handler around the given wrapped exception handler. -
Method Summary
Modifier and TypeMethodDescriptionprotected StringcreateFatalMessage(Throwable exception) Create fatal message based on given exception which will in turn be passed toFacesContext.addMessage(String, jakarta.faces.application.FacesMessage).voidhandle()Set every exception as a global FATAL faces message.Methods inherited from class jakarta.faces.context.ExceptionHandlerWrapper
getHandledExceptionQueuedEvent, getHandledExceptionQueuedEvents, getRootCause, getUnhandledExceptionQueuedEvents, getWrapped, isListenerForSource, processEvent
-
Constructor Details
-
FacesMessageExceptionHandler
Construct a new faces message exception handler around the given wrapped exception handler.- Parameters:
wrapped- The wrapped exception handler.
-
-
Method Details
-
handle
public void handle()Set every exception as a global FATAL faces message.- Overrides:
handlein classExceptionHandlerWrapper
-
createFatalMessage
Create fatal message based on given exception which will in turn be passed toFacesContext.addMessage(String, jakarta.faces.application.FacesMessage). The default implementation returnsThrowable.toString().- Parameters:
exception- The exception to create fatal message for.- Returns:
- The fatal message created based on the given exception.
-