1

複合コンポーネントに少し問題があります。このコンポーネントの実装は次のようになります。

<composite:implementation>
    <h:outputStylesheet name="foo.css" library="bar"/>

    <div id="#{cc.clientId}">
        <composite:insertChildren/>
    </div>
</composite:implementation>

これは、JSTLコアタグを持つこのコンポーネントを含むファセットページに動的に含まれます。フェイスレットページは次のようなものです。

<h:panelGroup id="viewport" layout="block">
    <c:if test="#{controller.object != null}">
        <c:forEach items="#{controller.object.elements}" var="element">
            <c:if test="#{element.type == 'type1'}">
                <my:componentTypeOne id="#{element.id}"/>
            </c:if>

            <c:if test="#{element.type == 'type2'}">
                <my:componentTypeTwo id="#{element.id}"/>
            </c:if>
        </c:forEach>
    </c:if>
</h:panelGroup>

したがってviewport、ページのをレンダリングするだけで、コンポーネントはレンダリングされますが、複合コンポーネント内で定義されたスタイルシートはありませんmy:component。ページ全体をレンダリングせずに、その場でスタイルシートを含める方法はありますか?

編集:サンプルコードの拡張。

4

0 に答える 0