我已经浏览了documentation for FreeMarker,但我无法找到如何总结列表中的值列表的示例。
所以,让我说我有以下课程,如何在最后添加一行以包含值的总和:
public class MyObject
{
List<long> values
}
然后,我可以查看各个项目as explained in the list directive。
<#list MyObject.values as value>
${value}
</#list>
我甚至可以找到documentation on how to do arithmetic on the individual values,但我怎么能添加一个新行来显示所有值的总和?换句话说,我找不到任何关于如何汇总数字列表的文档......
还可以请在说明如何执行此操作的文档中包含指向该页面的链接。感谢。
答案 0 :(得分:1)
这是一个自定义功能。我只是使用函数来平均一个数字列表并略微改变它。
<#function mysum nums...>
<#local sum = 0>
<#list nums as num>
<#local sum += num>
</#list>
<#if nums?size != 0>
<#return sum>
</#if>
</#function>
${mysum(10, 20)}
30
这是我获得平均列表的原始函数的地方: http://freemarker.org/docs/ref_directive_function.html(参见示例2)
答案 1 :(得分:1)
如果您正在使用Java 8,则有内置函数可用于查找this
的总和。如果您将this
转换为List<Long>
到List
,则可以使用.sum()
:
Stream
例如,您可以在this question中看到这一点。