如果在Freemarker 2.3.28中未指定,则所有模板的默认output_format

时间:2018-11-16 17:59:09

标签: spring freemarker

我正在使用Freemarker 2.3.28版。我没有在模板或配置中的任何地方指定输出格式(output_format)。这是否意味着默认情况下所有模板的输出格式都设置为HTML?如果是这种情况,我相信${value}总是会被转义吗?

1 个答案:

答案 0 :(得分:0)

默认情况下,模板的output_formatundefined,因此不会发生自动转义。就像是为了向后兼容。要启用HTML自动转义,请执行以下操作之一:

  • incompatible_improvements的配置设置至少设置为2.3.24(但通常越高越好),并使用ftlh文件扩展名作为模板文件,而不是传统的{ {1}}。然后ftl文件将具有HTML自动转义功能。

  • 如果继续使用ftlh文件扩展名,则只需将ftl配置设置设置为HTML。因此,这将是所有模板的默认设置。如果只有一些模板需要自动转义,则可以使用output_format设置根据模板路径模式来映射不同的输出格式。

另请参阅:https://freemarker.apache.org/docs/pgui_config_outputformatsautoesc.html