且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用数据页脚中的数字数据自动计算列的总和

更新时间:2023-02-10 20:00:15

如果您的环境支持Java EE 7的新EL 3.0(例如 WildFly 8 ),那么您可以利用对Java 8的新支持,如 EL中的流和Lambda操作(是的,即使使用Java 7也可以使用)。

If your environment supports Java EE 7's new EL 3.0 (e.g. WildFly 8), then you can make use of new support for Java 8-like Stream and Lambda operations in EL (yes, this works even when using Java 7).

在特定情况下,您可以使用Java 8的EL 3.0等效的 IntStream#sum() (或 DoubleStream#sum() ,具体取决于属性类型):

In your particular case, you can use the EL 3.0 equivalent of Java 8's IntStream#sum() (or DoubleStream#sum(), depending on property type):

<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>