1

嗨,我知道我可以像这样在 jsf 中使用一些方面变量:

<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

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

4

1 回答 1

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()”方法。

于 2013-10-10T10:59:37.717 回答