PrimeFacesタブ/タブビューコンポーネントに基づいて新しいコンポーネントを作成したいと考えています。ブラウザの[追加]タブのように表示され、フォームを記入するためのページが開きます。問題は、データモデル(http://www.primefaces.org/showcase/ui/tabviewModel.jsf)に基づいてTabViewに統合したいということです。今は、フォームを定義済みのタブでフォームに入力するタブを組み合わせるか、データのタブを動的に作成するTabViewを使用することができます。TabViewコンポーネント用の新しいレンダラーを宣言する
カスタムコンポーネントを作成する方法については、複合コンポーネントまたは新しいJavaクラスの2つの方法でJSFのドキュメントを読んでいます。私はカスタムコンポーネントを作成しようとしましたが、これ以上説明した方法では動作しません。
私の質問は以下のとおりです。
1)それは複合コンポーネントでこの問題を解決することは可能でしょうか?はいの場合、誰かが私にヒントを与えることができますか?
2)そうでない場合は、既存のPrimeFacesコンポーネント(おそらく新しい種類のTabView)に基づいて新しいコンポーネントを作成するためのチュートリアルがありますか?
UPD:いくつかの調査をした後、私は最も簡単な方法はTabViewの新しいレンダラーを書くことであることに気付きました。
私は新しいレンダラクラス宣言:public class AddableTabViewRenderer extends TabViewRenderer
および顔-config.xmlにそれを登録しかしながら
<render-kit>
<render-kit-id>HTML_BASIC</render-kit-id>
<renderer>
<component-family>org.primefaces.component</component-family>
<renderer-type>org.primefaces.component.TabView</renderer-type>
<renderer-class>
de.idealo.evaluation.jsf.webapp.component.AddableTabViewRenderer
</renderer-class>
</renderer>
</render-kit>
、TabView成分とビューがレンダリングされるのencodeEnd方法TabViewRendererが呼び出され、AddableTabViewRendererのオーバーライドされたメソッドは呼び出されません。 問題がどこにあるのかについてのヒントを教えてもらえますか?