是否有办法让MyFaces 不打印以下当列表或数组支持h:dataTable
是空的?
<table>
<tbody id="itemsForm:itemsDataTable:tbody_element">
<tr>
<td></td>
</tr>
</tbody>
</table>
我怀疑打印一个空的body会更正确。这个可以被重写吗?
这些元素是XHTML规范所必需的,<table>
至少需要一个 <tr>
。<tr>
依次需要至少一个 <td>
。
<!ELEMENT table
(caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
<!ELEMENT caption %Inline;>
<!ELEMENT thead (tr)+>
<!ELEMENT tfoot (tr)+>
<!ELEMENT tbody (tr)+>
<!ELEMENT colgroup (col)*>
<!ELEMENT col EMPTY>
<!ELEMENT tr (th|td)+>
<!ELEMENT th %Flow;>
<!ELEMENT td %Flow;>
(+
表示1或多个,*
表示0或多个,?
表示0或1)
最好的方法是在数据模型为空时隐藏整个表。
<h:dataTable ... value="#{bean.items}" rendered="#{not empty bean.items}">