What is the way for debugging JSF messages. Can I implement some listener and catch all error messages that JSF is about to display?
Asked
Active
Viewed 1,228 times
1 Answers
6
You could with a PhaseListener
hook on the beforePhase()
of the PhaseId.RENDER_RESPONSE
.
E.g.
public class MessagesListener implements PhaseListener {
@Override
public PhaseId getPhaseId() {
return PhaseId.RENDER_RESPONSE;
}
@Override
public void beforePhase(PhaseEvent event) {
Iterator<FacesMessage> messageIterator = event.getFacesContext().getMessages();
while (messageIterator.hasNext()) {
FacesMessage message = messageIterator.next();
// ...
}
}
@Override
public void afterPhase(PhaseEvent event) {
// NOOP.
}
}
To get it to run, register it as follows in faces-config.xml
:
<lifecycle>
<phase-listener>com.example.MessagesListener</phase-listener>
</lifecycle>

BalusC
- 1,082,665
- 372
- 3,610
- 3,555
-
Thank You BalusC. It helped a lot. – Benjamin Harel Dec 07 '11 at 14:47