Java上的Freemarker-如何在$ {}的时间内重复一个片段?

问题描述 投票:0回答:1

我已经在这个问题上停留了很长时间,并且无法找到明确的答案。

我们有一个模板文件,它遵循以下常规布局:

评论片段连接详细信息片段输入片段输出片段

在每个片段中,我们都有占位符值,这就是使用Freemarker的原因,因为它非常适合替换这些值。

我不知道的问题是:

说我要从中解析数据的JSON具有多个“数据库” JSONObject,在这种情况下,我希望Freemarker重复连接详细信息片段的次数与JSON中存在“数据库”对象的次数相同。

我遇到了重复宏的非常严格的方法。所有这些都要求我预先指定要重复片段多少次;这是我无法提前回答的问题。

tldr;有没有办法写一个包含文本片段的宏,然后让我重复该片段一段可变的时间(在.ftl文件中没有设置该数量)

另外,我真的很想将宏保存在.ftl文件中,与模板.ftl文件分开,所以请您帮忙解决一下,让我说些类似的话:

<#import "lib/macros.ftl" as u>
...
<. u.connectionDetailsMacro -repeat ${} ./>
java macros freemarker
1个回答
0
投票

您要做的只是

<#list theObject as obj>
...
<u.connectionDetailsMacro connectionObject=obj.connectionObject>
...
</#list>
© www.soinside.com 2019 - 2024. All rights reserved.