freemarker之模板开发(模板之总体结构)
----------
模板(FTL编程)是由如下部分混合而成的:
Text文本:文本会照着原样来输出。
Interpolation插值:这部分的输出会被计算的值来替换。插值由${和}所分隔。
FTL tags标签:FTL标签和HTML标签很相似,但是它们却是给FreeMarker的指示,而且不会打印在输出内容中。
Comments注释:FTL的注释和HTML的注释也很相似,但它们是由<#--和-->来分隔的。注释会被FreeMarker所忽略,更不会在输出内容中显示。
FTL是区分大小写的。list是指令的名称而List就不是,类似地${name}和${Name}或者${NAME}它们也是不同的。应该意识到非常重要的一点:插值仅仅可以在文本中间使用。FTL标签不可以在其他FTL标签和插值中使用。如下:
<#if <#include 'foo'>='bar'>...</#if>
这是错误的。
注释可以放在FTL标签和插值中间。比如:
<h1>Welcome ${user<#-- The name of user -->}!</h1>
注意:
如果目前你已经尝试了上面所有的示例的话,那么你也许会注意一些空格、制表符和换行符从模板输出中都不见了,这是由于FreeMarker的"空格剥离"特性在起作用。