最佳答案
与使用 @PostConstruct
注释相比,什么时候应该使用 f:viewAction
或 preRenderView
事件来初始化页面的数据?是基于后台 bean 的作用域类型使用其中一种的基本原理,例如。如果后台 bean 是 @RequestScoped
,那么在呈现视图之前选择使用 f:viewAction
或者 preRenderView
而不是 @PostConstruct
来初始化您的后台 bean 是否无关紧要,因为两者会导致同样的效果?
ViewAction 或 preRenderView
<f:metadata>
<f:viewAction action="#{myBean.initialize}" />
</f:metadata>
<f:metadata>
<f:event type="preRenderView" listener="#{myBean.initialize}"/>
</f:metadata>
或者
@ PostConstruction
public class MyBean
{
@PostConstruct
public void initialize()
{
}
}