Description
Sample JSF page:
<h:outputStylesheet library="css" name="table-style.css" />
<h:dataTable value="#
" var="o"
styleClass="order-table"
headerClass="order-table-header"
rowClasses="order-table-odd-row,order-table-even-row"
columnClasses="col0,col1,col2,col3"
>
<f:param id="testParam" value="TESTER" />
<h:column>
<f:facet name="header">Column1</f:facet>
#
</h:column>
<h:column>
<f:facet name="header">Column2</f:facet>
#
</h:column>
<h:column>
<f:facet name="header">Column3</f:facet>
#
</h:column>
<h:column>
<f:facet name="header">Column4</f:facet>
#
</h:column>
</h:dataTable>
Sample CSS:
.order-table{
border-collapse:collapse;
}
.order-table-header{
text-align:center;
}
.order-table-odd-row{
text-align:center;
}
.order-table-even-row{
text-align:center;
}
.col0{
text-align:center;
}
.col1{
text-align:center;
}
.col2{
text-align:center;
}
.col3{
text-align:center;
}
Problem description:
The rendered output of one of the rows of the above page is the following:
<tr class="order-table-odd-row"><td class="col1">
test1
</td><td class="col2">
test2
</td><td class="col3">
test3
</td><td class="">
test4
</td></tr>
As you can see the last column has no definition of a columnClass ( class="" ). The same page works if we remove the <f:param/> definition from within the
<h:dataTable/>. If the f:param tag is removed then I see that all of the columns have a defined class as expected ( the number of columns is less than or equal to the
defined columnClasses so each of the columns should have a class defined.