从 apache freemarker 中的嵌套对象构建列表?
Build list from nested object in apache freemarker?
我有一个对象列表,我想从它的字段中获取一个列表。
假设我将 List<Auto> autos
从 java 端传递到文档端的模板。每个 Auto 都有一个速度字段。
所以结果应该是速度列表。
我可以手动循环汽车并从速度字段构建新列表。
在 freemarker 中是否有更简单的内置解决方案,例如 'autos.speed?tolist'
您正在寻找内置序列 map
,它从版本 2.3.29 开始提供。它 returns 一个新序列,其中所有元素都替换为参数 lambda、函数或方法的结果。这使您可以:
autos?map(auto -> auto.speed)
如果您想在 Java 中执行此操作,请参阅:
- Create list of object from another using Java 8 Streams
归结为:
autos.stream().map(Auto::getSpeed).collect(Collectors.toList());
我有一个对象列表,我想从它的字段中获取一个列表。
假设我将 List<Auto> autos
从 java 端传递到文档端的模板。每个 Auto 都有一个速度字段。
所以结果应该是速度列表。
我可以手动循环汽车并从速度字段构建新列表。
在 freemarker 中是否有更简单的内置解决方案,例如 'autos.speed?tolist'
您正在寻找内置序列 map
,它从版本 2.3.29 开始提供。它 returns 一个新序列,其中所有元素都替换为参数 lambda、函数或方法的结果。这使您可以:
autos?map(auto -> auto.speed)
如果您想在 Java 中执行此操作,请参阅:
- Create list of object from another using Java 8 Streams
归结为:
autos.stream().map(Auto::getSpeed).collect(Collectors.toList());