有没有办法配置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片段在哪个模板中呈现。
任何提示?
答案 0 :(得分:0)
您可以编写一个TemplateLoader
实现,该实现只委托给另一个TemplateLoader
(当您不在调试模式时使用的那个),但是捕获它返回的流,并插入<#ftl ...>
指令后的HTML注释。 (但不要在注释中添加换行符,否则它会偏移错误消息中的行号;请改用${'\n'}<!-- ... -->${'\n'}
。)