【发布时间】:2010-04-13 15:38:43
【问题描述】:
我们正在尝试在 freemarker 中构建一个系统,可以选择添加扩展文件来替换标准模板的块。
我们已经到了这一点
<#attempt>
<#include "extension.ftl">
<#recover>
Standard output
</#attempt>
所以 - 如果 extension.ftl 文件存在,它将被使用,否则恢复块内部的部分将被输出。
这样做的问题是 freemarker 总是记录导致恢复块触发的错误。
所以我们需要两件事之一:
- 如果文件不存在,请不要调用包含 - 因此需要检查文件是否存在。
-或-
- 一种在不更改日志记录的情况下防止在恢复块中记录错误以防止出现所有 freemarker 错误的方法。
【问题讨论】:
-
这并不能直接回答您的问题,但您是否考虑过使用自定义
TemplateLoader来代替?例如freemarker.org/docs/api/freemarker/template/… -
由Freemarker的[用户定义指令][1]解决,你可以试试。 [1]:stackoverflow.com/questions/13908848/…
-
我希望我能结束这个问题 - 我不能接受任何答案,因为我不再参与这个项目,所以我不知道它们是否有效。对此感到抱歉。
标签: freemarker