调试 JSF 消息的方法是什么。我可以实现一些侦听器并捕获 JSF 即将显示的所有错误消息吗?
问问题
1143 次
1 回答
6
你可以用PhaseListener
钩子上beforePhase()
的PhaseId.RENDER_RESPONSE
。
例如
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.
}
}
要让它运行,请在以下位置注册它faces-config.xml
:
<lifecycle>
<phase-listener>com.example.MessagesListener</phase-listener>
</lifecycle>
于 2011-12-07T11:48:02.127 回答