我有一个这样的数据表:
<h:dataTable id="box-score-away" value="#{individualAwayBoxScoreQuery.resultList}" var="_bssl">
<f:facet name="header">
<h:outputText value="Away Team" />
</f:facet>
<h:column>
<f:facet name="header">
<h:outputText value="Name" />
</f:facet>
<h:outputText value="#{_bssl.name}" />
<f:facet name="footer">
<h:outputText value="Σ" styleClass="bold" />
</f:facet>
</h:column>
...
</h:dataTable>
当结果列表没有元素时,表的 tbody 变为空。 Firefox 在这方面存在问题,页面呈现真的很糟糕。
当结果列表为空时,如何向 tbody 添加一行? (请注意,这与条件无关,而是与要使用的组件以及放置它们的位置有关。)
该行应该是 colspan 为 10 的 td。我尝试了几件事但没有成功。 f:verbatim 是要走的路吗?
最佳答案
#{individualAwayBoxScoreQuery.resultList}
您可以在您的模型中处理这个问题。有条件地返回一个包含单个空 bean 的 List
(我想 Map
也可以)。有几种方法可以做到这一点:在后台 bean 中;一个 EL 函数;等等
如果是内存服务器,MyFaces 会自动执行此操作以生成有效的 XHTML。
关于JSF:如何向 :dataTable 添加一个空行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4907990/