2016-02-03 49 views
0

這裏是myfaces中數據表的代碼片段。如何將ID屬性添加到h的頭部:datatable

<h:dataTable class="pretty" value="#{someValue}" > 
    <h:column> 
     <f:facet name="header"> 
      <h:outputText value="Name"/> 
     </f:facet> 
    </h:column> 
    <h:column> 
     <f:facet name="header"> 
      <h:outputText value="Outstanding"/> 
     </f:facet> 
    </h:column>        
</h:dataTable> 

這將產生HTML與

<th></th> 

爲表。 我想設置id和頁眉下方的個標籤:

<th id="value" headers="header value"> 

但不知道如何做到這一點MyFaces中F:小,因爲它僅提供名字設置以及一些其他值。任何幫助設置標識和標題到th標籤將不勝感激。

感謝, 馬杜

+0

順便說一句我嘗試使用設置ID:'的 ' –

+0

將id屬性賦予'f:facet'有什麼好處,因爲您知道facet被存儲爲屬性? –

+0

這是爲了解決WCAG問題:成功標準1.3.1信息和關係(A)。 _Check 245:具有多個行/列標題的數據表不使用標識和標題 屬性來標識單元格。 修復:爲表格單元格添加標識和標題屬性,以便標識與標題相關的單元格。[http://achecker.ca/checker/suggestion.php?id=245] –

回答

0

通過創建一個擴展org.apache.myfaces.renderkit.html.HtmlTableRenderer的自定義渲染器修復了這個問題。修改該功能以添加額外的屬性位:protected void renderColumnHeaderCell(FacesContext facesContext, ResponseWriter writer, UIComponent uiComponent, UIComponent facet, String headerStyleClass, int colspan) throws IOException

然後在faces-config.xml中添加config以指向我們的類。

<render-kit> <renderer> <component-family>javax.faces.Data</component-family> <renderer-type>javax.faces.Table</renderer-type> <renderer-class>OurClass</renderer-class> </renderer> </render-kit>

相關問題