FreeMaker学习笔记一

来源:互联网 发布:网络电视还需要盒子吗 编辑:程序博客网 时间:2024/04/25 22:12

在FreeMarker模板中可以包括下面三种特定部分:
Ø         ${…}:称为interpolations,FreeMarker会在输出时用实际值进行替代
Ø         FTL标记:类似于HTML标记,为了与HTML标记区分,用<#....>开始
Ø         注释:包含在<#--和-->(而不是<!--和-->)之间

例如:
<#if ……>
     ……
<#else>
     ……
<#/if>

预定义指令:引用方式为<#指令名称>
用户定义指令:引用方式为<@指令名称>,引用用户定义指令时须将#换为@。
** 如果使用不存在的指令,FreeMarker不会使用模板输出,而是产生一个错误消息。

freemarker指令由FTL标记来引用,FTL标记和HTML标记类似,名字前加#来加以区分。如HTML标记的形式为<h1></h1>则FTL标记的形式是<#list></#list>

有三种FTL标记:
1)、开始标记:<#指令名称>
2)、结束标记:</#指令名称>
3)、空标记:<#指令名称/>

注意:

1) FTL会忽略标记之中的空格,但是,<#和指令 与 </#和指令 之间不能有空格。
2) FTL标记不能够交叉,必须合理嵌套。每个开始标记对应一个结束标记,层层嵌套。 如:
<#list>
<li>
${数据}
<#if 变量>
<p>game over!</p>
</#if>
</li>
</#list>

注意事项:
1)、FTL对大小写敏感。所以使用的标记及interpolation要注意大小写。name与NAME就是不同的对象。<#list>是正确的标记,而<#List>则不是。
2)、interpolation只能在文本部分使用,不能位于FTL标记内。如<#if ${var}>是错误的,正确的方法是:<#if var>,而且此处var必须为布尔值。
3)、FTL标记不能位于另一个FTL标记内部,注释例外。注释可以位于标记及interpolation内部。

原创粉丝点击