2013-10-10 2 views
1

Привет я знаю, что я могу использовать некоторые фасеты переменные в JSF так: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 

, но не могу найти какую-либо информацию о гранях здесь, где заданная?

ответ

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 является самым простым первым шагом. Он также перечисляет методы, унаследованные от суперклассов, которые иначе не видны непосредственно в исходном классе. Вы сразу заметили самоочевидный метод getFacets() при поиске слова «грани» в javadoc.

Смежные вопросы