HI,
我需要澄清实现 PhaseListener 类。以下是 PhaseListener.getPhaseId
的两个不同的重写实现@Override
public PhaseId getPhaseId() {
return PhaseId.ANY_PHASE;
}
和
@Override
public PhaseId getPhaseId() {
return PhaseId.RESTORE_VIEW;
}
这两种实现有什么显着差异?会有什么影响?
答案 0 :(得分:5)
正如PhaseListener#getPhaseId()
javadoc中所述,这表明当前PhaseId
实施应该执行PhaseListener
和beforePhase()
方法的afterPhase()
。在第一个示例中,它们将在任何阶段执行,而在第二个示例中,它们将仅在RESTORE_VIEW
阶段执行(这是JSF生命周期的第一个阶段)。