FreeMarker可以将目录内容写入模板吗?

时间:2013-09-18 01:14:25

标签: java file-io template-engine freemarker

我正在试图弄清楚如何使用FreeMarker生成如下文件:

The contents of /home/myuser/somedir are:
    blah.txt
    fizz.gif
    buzz.jpg
    widget.log

...来自这样的模板:

The contents of <%dir%> are:
    <%contents%>

我在FreeMarker上阅读了优秀的Vogella教程,但并不确定如何将它们放在一起:一旦我在目录中查询其内容,我如何将每个项目添加到<%contents%>列表中?提前谢谢!

1 个答案:

答案 0 :(得分:0)

FreeMarker模板只能通过数据模型(也就是模板上下文)显示您提供给他们的内容。毕竟,模板是MVC视图,而不是通用程序。因此,在调用FreeMarker之前创建一个List<String>,将其称为dirContents或其他内容,将其放入数据模型,也就是目录名称,并将其命名为dirName,然后执行某些操作像:

<p>${dirName}:</p>
<ul>
  <#list dirContents as entry>
    <li>${entry}</li>
  </#list>
</ul>