0

私はカスタムを持っていますUIComponent。これは、ベースのfaceletテンプレートから直接呼び出されたときに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ます。

私の論理では、これは機能するはずです。私は何が欠けていますか?Mojarra2.0.2を実行しています。

4

1 に答える 1

0

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

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

于 2010-11-26T10:07:52.217 に答える