【问题标题】:How to notify backing bean that JSF has completed rendering?如何通知支持 bean JSF 已完成渲染?
【发布时间】:2015-10-06 11:26:02
【问题描述】:

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

我想一种方法是,如果我有一个表单来将隐藏输入绑定到一个始终将信号量的值设置为 true 的 bean 方法。但是,有没有办法在没有表单的情况下完成此操作?

【问题讨论】:

  • 想详细说明用例是什么?只是出于好奇

标签: jsf managed-bean


【解决方案1】:

在每次观看的基础上,您可以使用<f:view afterPhase>

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

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

【讨论】:

    猜你喜欢
    • 2018-04-04
    • 1970-01-01
    • 2014-03-10
    • 1970-01-01
    • 2017-01-08
    • 2020-04-04
    • 2016-03-24
    • 2021-05-14
    • 1970-01-01
    相关资源
    最近更新 更多