如何通知支持 bean JSF 已完成渲染?
How to notify backing bean that JSF has completed rendering?
我想在我的托管 bean 中有一个布尔值 semaphore
,表示使用它的 JSF
页面是否已完成呈现。默认情况下,该值应为 false,并且一旦 HTML 的最后一位已呈现(或大约),该值应设置为 true,并且在 bean 的生命周期中永远不会再返回到假的。
我想这样做的一种方法是,如果我有一个将隐藏输入绑定到 bean 方法的表单,该方法始终将信号量的值设置为 true。但是,有没有办法在没有表格的情况下实现这一点?
在每次观看的基础上,您可以使用 <f:view afterPhase>
。
<f:view afterPhase="#{bean.afterPhase}">
private boolean renderedOnce;
public void afterPhase(PhaseEvent event) {
if (event.getPhaseId() == PhaseId.RENDER_RESPONSE) {
renderedOnce = true;
}
}
我想在我的托管 bean 中有一个布尔值 semaphore
,表示使用它的 JSF
页面是否已完成呈现。默认情况下,该值应为 false,并且一旦 HTML 的最后一位已呈现(或大约),该值应设置为 true,并且在 bean 的生命周期中永远不会再返回到假的。
我想这样做的一种方法是,如果我有一个将隐藏输入绑定到 bean 方法的表单,该方法始终将信号量的值设置为 true。但是,有没有办法在没有表格的情况下实现这一点?
在每次观看的基础上,您可以使用 <f:view afterPhase>
。
<f:view afterPhase="#{bean.afterPhase}">
private boolean renderedOnce;
public void afterPhase(PhaseEvent event) {
if (event.getPhaseId() == PhaseId.RENDER_RESPONSE) {
renderedOnce = true;
}
}