0

コンポーネントがバインドされた後に呼び出されるバッキングBeanの初期化メソッドが必要です。@PostConstructは、コンポーネントバインディングの前に呼び出されます。コンポーネントのバインド後にメソッド呼び出しを引き起こすメソッドのJSFアノテーションはありますか?

現在、ページ側とBean側でコードを必要とする<f:view afterPhase="#{bean.initialize}">またはのようなものを使用することが可能です。<f:event type="preRenderView" listener="#{bean.initialize}" />Bean側のみの解決策はありますか?

4

1 に答える 1

1

標準のJSFAPIにはそのようなものはありません。

取得できるものに最も近いのは、getterでの遅延読み込みです。

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

またはセッターでの怠惰な実行。

public void setSomeComponent(UIComponent someComponent) {
    if (!initialized(someComponent)) {
        initialize(someComponent);
    }
    this.someComponent = someComponent;
}
于 2012-11-01T11:49:19.383 に答える