使用Freemarker和Java。我的根映射中有条目如下:
DAY_1=2018/05/01
VOLUME_1=123456
VALUE_1=456.78
DAY_2=2018/05/02
VOLUME_2=654321
VALUE_2=876.54
...
DAY_N=2018/05/20
VOLUME_N=555555
VALUE_N=333.44
并希望以逗号分隔的列表输出这些内容,如下所示:
2018/05/01,123456,456.78
2018/05/02,654321,876.54
...
2018/05/20,555555,333.44
我认为这很容易在我的FTL模板文件中使用一个简单的循环迭代器迭代,指定键“DAY_”的静态部分并连接循环索引中的索引值。
我已经搜索了几个小时的策略来了解如何执行此操作并尝试了许多FTL编码样式但只得到错误。也许我也在考虑这个问题。
有关访问此地图数据的简单方法的任何建议吗?
谢谢, 肯
答案 0 :(得分:0)
假设N至少为1(否则使用独占结束范围,如1 ..< N+1
):
<#list 1..N as i>
${.data_model['DAY_${i?c}']},${.data_model['VOLUME_${i?c}']},${.data_model['VALUE_${i?c}']}
</#list>
或者,有些人更喜欢使用.vars
,这也会检查当前命名空间中的变量以及本地和循环变量。
但我建议使用包含List
Map
- s或List
Java bean的数据模型。就FreeMarker而言,这意味着它的意义。