我正在使用Freemarker 2.3.28版。我没有在模板或配置中的任何地方指定输出格式(output_format
)。这是否意味着默认情况下所有模板的输出格式都设置为HTML
?如果是这种情况,我相信${value}
总是会被转义吗?
答案 0 :(得分:0)
默认情况下,模板的output_format
是undefined
,因此不会发生自动转义。就像是为了向后兼容。要启用HTML自动转义,请执行以下操作之一:
将incompatible_improvements
的配置设置至少设置为2.3.24(但通常越高越好),并使用ftlh
文件扩展名作为模板文件,而不是传统的{ {1}}。然后ftl
文件将具有HTML自动转义功能。
如果继续使用ftlh
文件扩展名,则只需将ftl
配置设置设置为HTML。因此,这将是所有模板的默认设置。如果只有一些模板需要自动转义,则可以使用output_format
设置根据模板路径模式来映射不同的输出格式。
另请参阅:https://freemarker.apache.org/docs/pgui_config_outputformatsautoesc.html