所有方面的Jsf列表

时间:2013-10-10 10:48:06

标签: jsf facets

我知道我可以在jsf中使用一些facet变量,如下所示:

<h:dataTable>
    <h:column>
        <f:facet name="header">
            <h:outputText value="Item Description" />
        </f:facet>
        <h:outputText value="#{item.description}" />
    </h:column>
</h:dataTable>

有没有列出所有可用方面的文档?

我已经查看了

的源代码
javax.faces.component.html.HtmlDataTable

但是在这里找不到方面的任何信息,在哪里定义?

1 个答案:

答案 0 :(得分:1)

这些方面可由UIComponent#getFacets()获得。

请注意,您需要从<h:column>HtmlColumn; UIColumn)获取代码段中的特定代码段,而不是<h:dataTable>HtmlDataTable ; UIData)。

UIData table = getItSomehow();

for (UIComponent child : table.getChildren()) { // child == UIColumn.
    Map<String, UIComponent> facets = child.getFacets();
    UIComponent headerFacet = facets.get("header");
    // ...
}

顺便说一句,查看源代码很有趣,但查看javadoc是最简单的第一步。它还列出了从超类继承的方法,否则这些方法在类的源中不会直接可见。在javadoc中搜索单词“facets”时,你会立即注意到自解释“getFacets()”方法。