Jsf 2 嵌套复合组件内部的输出方面

Jsf 2 嵌套复合组件内部的输出方面,jsf-2,composite-component,facet,Jsf 2,Composite Component,Facet,我有一个组件,用于在其子元素周围添加容器。此组件在其他组件中使用,没有任何问题。但我希望能够使用这样一个方面: <!-- INTERFACE --> <cc:interface> <cc:attribute name="detailTitle" /> <cc:facet name="header"/> </cc:interface> <!-- IMPLEMENTATION --> <cc:implem

我有一个组件,用于在其子元素周围添加容器。此组件在其他组件中使用,没有任何问题。但我希望能够使用这样一个方面:

<!-- INTERFACE -->
<cc:interface>
    <cc:attribute name="detailTitle" />
    <cc:facet name="header"/>
</cc:interface>

<!-- IMPLEMENTATION -->
<cc:implementation>
    <li class="mvkcomp listItem listDetailToggle">
        <ezcomp:container>
            <div class="listItemBody">
                <div class="header">
                    <!-- Facet not being rendered -->
                    <cc:renderFacet name="header" />

                    <a href="#">Show/hide #{cc.attrs.detailTitle}</a>
                </div>
                <div class="detail">
                    <cc:insertChildren />
                </div>
            </div>
        </ezcomp:container>
    </li>
</cc:implementation>

  • 然而,这不会产生任何效果。如果将
    移动到
    之外,它将正常工作。是否有我没有看到的替代方案,或者我是否只需将
    li
    ezcomp:container
    移动到组件外部即可工作?这是首选方案吗


    哦,
    按预期工作。我觉得很奇怪,一个会失败,而另一个不会。

    我选择的处理方法是将包装器元素作为模板实现。然后,我使用ui:decoration在复合组件中输出该模板。原始包装器现在只在插入模板的子项之前输出模板