使用freemarker创建动态列表

时间:2016-01-26 12:49:51

标签: java freemarker

我想用freemarker构建一个动态列表。在(java)运行之前,我不知道会有多少级别。 它看起来应该是

<ul>
  <li>....</li>
  <li>....</li>
  <ul>
    <li>...</li>
  </ul>
</ul>

我怎么能这样做?我只是得到一个带有x级别的静态列表...带有脏的嵌套循环,但有时我需要20-25个嵌套的ul元素/级别。

我该如何动态地做到这一点?建议会很好:))

2 个答案:

答案 0 :(得分:1)

使用freemarker这很容易做到,想想你将如何用Java进行递归。在这种情况下,您应该将每个模板视为一个函数,该函数具有可以使用的参数。

创建一个新模板,只处理列表的一个级别,然后如果存在另一个列表,则在此模板上再次调用render函数。

或者你可以使用宏,虽然这是我个人的偏好。

答案 1 :(得分:0)

使用macro进行递归调用。