Freemarker基本语法
1Freemarker 标记
FreeMarker标记的设计非常精炼,只有三种:
1) $ : ${expression}FreeMarker会在输出时用实际值进行替代
例如:${stockNum?default(‘’)}
2) # :标准的FTL标记。大部分FreeMarker指令都以#开始,可以明显地与html标记区分,
<#if user ="BigJoe">our beloved leader</#if>。
同时,FTL文件的注释包含在<#--和-->(而不是<!--和-->)之间
3) @作为用户定义指令使用宏变量时,使用@替代FTL标记中的#。后面将详细介绍宏
2FTL标记指令
1) if, else, elseif
语法
<#if condition>
...
<#elseifcondition2>
...
<#else>
...
</#if>
用例
、
2) switch, case, default, break
<#switchbeing.size>
<#case "small">
This will be processed if it is small
<#break>
<#case "medium">
This will be processed if it ismedium
<#break>
<#case "large">
This will be processed if it is large
<#break>
<#default>
This will be processed if it is neither
</#switch>
用例:
3) list, break
<#listsequence as item>
...x
<#if item="spring"><#break></#if>...
</#list>
关键字item_index:是list当前值的下标item_has_next:判断list是否还有值
例子:
mmer, 4. autumn
4) include
¡语法:
<#include filename>
用例:
在这里会存在一个问题,如果有两个被引用的文件,他们都有相同的变量名那么如果此时引用了具有相同变量名的文件他们其中一个会被替换;
、
这里可以发现12被100 覆盖了,所以为了解决这类问题就要用到import
5) Import
语法:
<#import path as 别名>
6) assign
生成变量,并且给变量赋值
<#assign 变量名=值>
7) macro (宏)相当于java中的方法 也就是说把需要重复执行的代码放入其中 然后进行调用即可
8特殊字符的转译