什么时候应该使用f:viewAction
orpreRenderView
事件来初始化页面的数据而不是使用@PostConstruct
注释?是否基于支持 bean 的范围类型使用一个或另一个的基本原理,例如如果支持 bean 是@RequestScoped
,那么在呈现视图之前选择使用f:viewAction
或preRenderView
结束@PostConstruct
来初始化支持 bean 是否无关紧要,因为两者将产生同样的效果?
f:viewAction 或 preRenderView
<f:metadata>
<f:viewAction action="#{myBean.initialize}" />
</f:metadata>
<f:metadata>
<f:event type="preRenderView" listener="#{myBean.initialize}"/>
</f:metadata>
或者
@PostConstruct
public class MyBean
{
@PostConstruct
public void initialize()
{
}
}