何时应该使用f:viewAction或preRenderView事件初始化页面的数据,而不是使用@PostConstruct注释? 是基于支持bean的范围types使用一个或另一个的基本原理,例如,如果支持bean是@RequestScoped ,那么select在呈现之前使用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() { } }