Freemarker空白处理之微调指令 t、lt、rt

Synopsis

<#t>

<#lt>

<#rt>
Description

These directives, instruct FreeMarker to ignore certain white-space in the line of the tag:

t (for trim): Ignore all leading and trailing white-space in this line.

lt (for left trim): Ignore all leading white-space in this line.

rt (for right trim): Ignore all trailing white-space in this line.

************************************************翻译*****************************************
概要:

<#t>

<#lt>

<#rt>

语法:

  • <#t> (用于修剪/忽略)忽略所有前导和尾随空白。去掉左右空白和回车换行

  • <#lt>(用于左修剪/忽略)忽略所有前导空白。去掉左边空白和回车换行

  • <#rt>(用于右修剪/忽略)忽略所有尾随空白。去掉右边空白和回车换行

  • <#nt>取消上面的效果。剥离空白:默认的情况下剥离空白是开启的,程序员可以留着不管(建议这样做)。

<#nt> 剥离空白
如果对于模板来说使这个特性成为可能的话,那么它就会自动忽略(也就是不在输出中打印出来)两种典型的多余空白:

  • 缩进空白和在行末尾的尾部空白(包括换行符)将会被忽略,只会留下FTL标签(比如<@myMacro/>,<#if …>)和FTL注释(如<#– blah –>),除了被忽略的空白本身。例如,如果一行只包含一个<#if …>,那么在标签前面的缩进和标签后面的换行符将会被忽略。然而,如果这行上包含<#if …>x,那么空白就不会被忽略,因为这个x不是FTL标签。注意,根据这些规则,一行上包含<#if …><#list …>,空白就会被忽略,而一行上有<#if …> <#list …> 这样的就不会,因为在两个FTL标签之间的空白是嵌入的空白,而不是缩进的或尾部空白。

  • 加在下面这些指令之间的空白会被忽略:macro,function,assign,global,local,ftl,import,但也是仅仅指令之间只有一个空白或FTL注释。实际应用中,它意味着你可以在宏定义和参数定义之间放置空行,因为行间距是为了更好的可读性,不包括打印不必要的空行(换行符)。

************************************************例子*****************************************

Freemarker空白处理之微调指令 t、lt、rt_第1张图片

你可能感兴趣的:(freemarker,学习笔记)