【发布时间】:2017-03-05 15:19:21
【问题描述】:
在实现PhaseListener接口的jsf bean中,beforePhase和afterPhase方法只会在getPhaseId方法指示的阶段前后被调用。这种机制只能让我们选择一个阶段,这两个方法将在之前和之后被调用。
有没有办法告诉 JSF 在生命周期方法的子集(不仅仅是一个)上调用这两种方法(beforePhase 和 afterPhase)(
- 恢复视图
- 应用请求值
- 过程验证
- 更新模型值
- 调用应用程序
- 渲染响应阶段
)
public class HelloBean implements PhaseListener {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public void afterPhase(PhaseEvent phaseEvent) {
System.out.println("after phase "+phaseEvent.getPhaseId());
}
@Override
public void beforePhase(PhaseEvent phaseEvent) {
System.out.println("beforePhase "+phaseEvent.getPhaseId());
}
public void testMethod(){
System.out.println("Test Method");
}
@Override
public PhaseId getPhaseId() {
return PhaseId.RESTORE_VIEW;
}
}
【问题讨论】:
标签: jsf jsf-2 jsf-2.2 phaselistener