如何通知JSF已完成渲染的辅助bean?

时间:2015-07-16 20:33:00

标签: jsf managed-bean

我想在托管bean中有一个布尔semaphore,表示使用它的JSF页面是否已完成渲染。默认情况下,该值应该为false,并且一旦HTML的最后一位被渲染(或者在那里),该值应该设置为true,并且在bean的生命周期中,如果它返回false,则永远不会再次设置。 p>

我想有一种方法可以做到,如果我有一个表单将一个隐藏的输入绑定到bean方法,该方法总是将信号量的值设置为true。但是,有没有办法在没有表格的情况下实现这一目标?

1 个答案:

答案 0 :(得分:3)

在每个视图的基础上,您可以使用<f:view afterPhase>

<f:view afterPhase="#{bean.afterPhase}">
private boolean renderedOnce;

public void afterPhase(PhaseEvent event) {
    if (event.getPhaseId() == PhaseId.RENDER_RESPONSE) {
        renderedOnce = true;
    }
}