Freemarker白色空间剥离

时间:2014-03-07 02:34:20

标签: freemarker

Freemarker documentation说:

  

在实践中,这意味着您可以在宏之间放置空行   定义和分配作为间距以获得更好的可读性,没有   将不必要的空行(换行符)打印到输出中。

当我渲染模板时

Start
<#assign var1 = "Foo"/>

<#assign var2 = "Bar"/>
End

结果是

Start
End

即。剥离两个作业之间的换行符。根据文档,这是我所期望的。但是,渲染稍微修改过的模板

Start
<#assign var1 = "Foo"/>

<#assign var2>
Bar
</#assign>
End

似乎没有删除换行符:

Start

End

这是一个错误还是我误解了文档?我正在使用Freemarker 2.3.20。

1 个答案:

答案 0 :(得分:3)

文档意味着您可以在这些指令之间添加空行,以便在不向输出添加额外换行符的情况下提高可读性。此外,删除这些指令后的换行符。在第一个示例中,换行符位于“开始”行的末尾。

在阻止#assign#assign之间没有删除空格是一个错误。