public class FacesMessageExceptionHandler extends ExceptionHandlerWrapper
The FacesMessageExceptionHandler
will add every exception as a global FATAL faces message.
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>
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.
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:
FacesMessageExceptionHandlerFactory
,
DefaultExceptionHandlerFactory
Constructor and Description |
---|
FacesMessageExceptionHandler(ExceptionHandler wrapped)
Construct a new faces message exception handler around the given wrapped exception handler.
|
Modifier and Type | Method and Description |
---|---|
protected String |
createFatalMessage(Throwable exception)
Create fatal message based on given exception which will in turn be passed to
FacesContext.addMessage(String, javax.faces.application.FacesMessage) . |
ExceptionHandler |
getWrapped() |
void |
handle()
Set every exception as a global FATAL faces message.
|
getHandledExceptionQueuedEvent, getHandledExceptionQueuedEvents, getRootCause, getUnhandledExceptionQueuedEvents, isListenerForSource, processEvent
public FacesMessageExceptionHandler(ExceptionHandler wrapped)
wrapped
- The wrapped exception handler.public void handle()
handle
in class ExceptionHandlerWrapper
protected String createFatalMessage(Throwable exception)
FacesContext.addMessage(String, javax.faces.application.FacesMessage)
.
The default implementation returns Throwable.toString()
.exception
- The exception to create fatal message for.public ExceptionHandler getWrapped()
getWrapped
in interface FacesWrapper<ExceptionHandler>
getWrapped
in class ExceptionHandlerWrapper
Copyright © 2012–2018 OmniFaces. All rights reserved.