t, lt, rt - Apache FreeMarker Manual
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注释。实际应用中,它意味着你可以在宏定义和参数定义之间放置空行,因为行间距是为了更好的可读性,不包括打印不必要的空行(换行符)。
************************************************例子*****************************************