更新时间: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>