当数字数据列在<p:dataTable>
(或<h:dataTable>
)中时,有没有办法在表的页脚的摘要行中获取总和而不在辅助bean中计算并提供它又作另一个bean属性?
答案 0 :(得分:13)
如果您的环境支持Java EE 7的新EL 3.0(例如WildFly 8),那么您可以使用类似Java 8的新支持Stream and Lambda operations in EL(是的,这甚至可以工作)使用Java 7时。
在您的特定情况下,您可以使用EL 3.0等效的Java 8 IntStream#sum()
(或DoubleStream#sum()
,具体取决于属性类型):
<h:dataTable value="#{bean.items}" var="item">
<h:column>
#{item.number}
</h:column>
<f:facet name="footer">
Total: #{bean.items.stream().map(item->item.number).sum()}
</f:facet>
</h:dataTable>