了解PhaseListener.getPhaseId

Kri*_*hna 3 jsf phaselistener

HI,

我需要澄清实现PhaseListener类.以下是PhaseListener.getPhaseId的两个不同的重写实现

@Override
public PhaseId getPhaseId() {       
    return PhaseId.ANY_PHASE;
}
Run Code Online (Sandbox Code Playgroud)

@Override
public PhaseId getPhaseId() {       
    return PhaseId.RESTORE_VIEW;
}
Run Code Online (Sandbox Code Playgroud)

这两种实现有什么重大区别?会有什么影响?

Bal*_*usC 5

PhaseListener#getPhaseId()javadoc 中所述,这表明PhaseId当前PhaseListener实现应该执行已实现的beforePhase()afterPhase()方法.在第一个示例中,它们将在任何阶段执行,在第二个示例中,它们将RESTORE_VIEW仅在阶段执行(这是JSF生命周期的第一个阶段).