JSF h: dataTable cria uma única célula vazia quando não há registros
Existe alguma maneira de impedir que um h: data de criar uma linha vazia quando o valor de apoio está vazio? Mais especificamente: Eu tenho uma coleção de dados a serem exibidos em 3 colunas em um h: dataTable com cabeçalhos de coluna. O thead sempre precisa ser exibido, independentemente de haver elementos na lista. Isso funciona bem, mas quando nenhum elemento está na lista, uma única linha / célula vazia é criada no corpo. Há uma maneira de prevenir isto?
Obrigado!
Método de amostra do bean de apoio. Para testar, tentei retornar ambos os nulos ou uma lista vazia. O mesmo resultado para ambos.
public List<LocationsDecorator> getLocations() {
return null;
}
Fragmento JSF:
<h:dataTable styleClass="locations" id="locations1"
var="nearestLoc" value="#{confirmationBean.locations}">
<h:column>
<!-- column header -->
<f:facet name="header">Address</f:facet>
<!-- row record -->
#{nearestLoc.adddress}
</h:column>
<h:column>
<!-- column header -->
<f:facet name="header">Distance</f:facet>
<!-- row record -->
#{nearestLoc.distance}
</h:column>
<h:column>
<!-- column header -->
<f:facet name="header">Hours of Operation</f:facet>
<!-- row record -->
<h:dataTable styleClass="locations" var="data"
value="#{nearestLoc.hoursOfOperation}">
<h:column>
#{data}
</h:column>
</h:dataTable>
</h:column>
</h:dataTable>
HTML resultante (o "<tr><td></td></tr>
"no tbody é o problema):
<table id="contact:locations1" class="locations">
<thead>
<tr>
<th scope="col">Address</th>
<th scope="col">Distance</th>
<th scope="col">Hours of Operation</th>
</tr>
</thead>
<tbody>
<tr><td></td></tr></tbody>
</table>