是否可以在阶段上注释要调用的辅助bean方法?

时间:2012-11-01 09:32:45

标签: events jsf binding jsf-2 phaselistener

我需要在组件绑定后调用辅助bean中的初始化方法。在组件绑定之前调用@PostConstruct。是否有任何JSF注释用于在组件绑定后导致方法调用的方法?

目前可以使用<f:view afterPhase="#{bean.initialize}"><f:event type="preRenderView" listener="#{bean.initialize}" />之类的东西,这需要页面和bean端的代码。有没有bean-side-only解决方案?

1 个答案:

答案 0 :(得分:1)

在标准的JSF API中没有类似的东西。

最接近你可以获得的是getter中的延迟加载。

public UIComponent getSomeComponent() {
    if (!initialized(someComponent)) {
        initialize(someComponent);
    }
    return someComponent;
}

或在setter中执行延迟。

public void setSomeComponent(UIComponent someComponent) {
    if (!initialized(someComponent)) {
        initialize(someComponent);
    }
    this.someComponent = someComponent;
}