这是myfaces中数据表的代码片段。
<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:facet中执行此操作,因为它只提供要与其他一些值一起设置的名称。任何有关将标识和标题设置为th标记的帮助都将受到高度赞赏。
谢谢, Madhu
答案 0 :(得分: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中添加配置以指向我们的类。
<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>
答案 1 :(得分:-1)
没有使用f:facet
还有另一种方法。这是一个链接
How to add specific attributes to JSF datatable header