如何添加每个使用过的模板的文件名,并在freemarker模板中包含HTML注释?

时间:2012-02-10 14:37:41

标签: templates freemarker

有没有办法配置freemarker,以便Freemarker模板引擎自动将当前模板的名称作为HTML注释插入?

示例HTML输出我想看到:

<!-- template file: main.ftl -->
normal template code of the file main.ftl

<!-- template file: myinclude.ftl -->
This is the code from myinclude.ftl

我希望仅将这些功能用于调试目的,以便更容易找出哪个HTML片段在哪个模板中呈现。

任何提示?

1 个答案:

答案 0 :(得分:0)

您可以编写一个TemplateLoader实现,该实现只委托给另一个TemplateLoader(当您不在调试模式时使用的那个),但是捕获它返回的流,并插入<#ftl ...>指令后的HTML注释。 (但不要在注释中添加换行符,否则它会偏移错误消息中的行号;请改用${'\n'}<!-- ... -->${'\n'}。)