JSF UIComponentを複合コンポーネントの子として追加すると、何もレンダリングしません

StackOverflow https://stackoverflow.com/questions/4258179

質問

カスタムがあります UIComponent, 、ベースフェイステンプレートから直接呼び出されたときにOKをレンダリングします(これはそれを直接の子にすると思います UIComponentBodyTag)。ただし、複合コンポーネント内で呼び出されると、何も起こりません。例外はありません。他のすべては大丈夫です。

だからこれが機能している間:

<h:body>
    <x:myUiComponent />
</h:body>

これはうまくいきません:

<h:body>
    <demo:uiComponentWrapper />
</h:body>

uicomponentwrapper.xhtml:

<cc:implementation>
    Before [<x:myUiComponent />] After
</cc:implementation>

単にとして印刷します Before [] After.

私の論理によって、これはうまくいくはずです。何が足りないの? Mojarra 2.0.2を実行しています。

役に立ちましたか?

解決

のようだ UIComponent's encodeAll(...) 通常、ページに追加されたときに呼び出されます。でも、 encodeBegin(...) コンポーネントが複合コンポーネントの子供として追加されている場合、代わりに呼ばれます。私のコンポーネントの建物は定義されていました encodeAll(...), 、コンポーネントを複合コンポーネントの子として追加するときに実行されませんでした。

したがって、それは異なるコンテキストで異なります。理由から、なぜそうなのかを参照してください まさにそれについての質問.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top