动态JSF复合组件样式/渲染

时间:2012-09-11 23:24:14

标签: jsf rendering stylesheet composite composite-component

我对复合组件有点问题。该组件的实现如下:

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

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

它被动态地包含在facelet页面中,该页面包含带有JSTL核心标记的该组件。 facelet页面类似于以下页面。

<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中定义样式表。有没有办法在不渲染整个页面的情况下动态包含样式表?

编辑:示例代码的扩展名。

0 个答案:

没有答案