我有一个菜单,其中包含指向不同视图的项目。
每个视图都有一个带有附加侦听器的选择组合框。
在该视图中,我使用会话范围的托管bean。
当我第一次导航到视图时,在构造bean时会调用一个方法。当用户从选择框更改值时,将调用相同的方法。但是重新显示视图时不会调用该方法。
这是因为我使用了会话范围的bean。一个更好的解决方案是使用视图范围的bean,但我正在寻找替代方案。有没有办法在视图更改时执行某些代码?
答案 0 :(得分:2)
您可以使用<f:event>
向preRenderView
事件附加侦听器方法。
E.g。
<f:event type="preRenderView" listener="#{bean.preRenderView}" />
与
public void preRenderView() {
// ...
}
每次在渲染响应阶段开始时都会调用它。