在显示或更改视图后执行一些代码



我有一个菜单,其中包含指向不同视图的项目。

每个视图都有一个带有附加侦听器的选择组合框。

在该视图中,我使用会话范围的托管 Bean。

当我第一次导航到视图时,在构造 bean 时调用了一个方法。当用户从选择框中更改值时,将调用相同的方法。但是,当重新显示视图时,不会调用该方法。

发生这种情况是因为我使用会话范围的 bean。更好的解决方案是改用视图范围的 bean,但我正在寻找替代方案。有没有办法在视图更改时执行某些代码?

您可以使用

<f:event>其中将侦听器方法附加到事件preRenderView

例如

<f:event type="preRenderView" listener="#{bean.preRenderView}" />

public void preRenderView() {
    // ...
}

每次在渲染响应阶段开始时都会调用它。

相关内容

  • 没有找到相关文章

最新更新