FreeMarker学习

来源:互联网 发布:淘宝店铺异常,状态码-2 编辑:程序博客网 时间:2024/06/07 06:09
内建函数
-常用字符:
html : 字符串中所有的特殊HTML字符都需要用实体引用代替(比如<代替&lt;)
cap_first : 字符串的第一个字母变为大写形式
lower_case : 字符串的小写形式
upper_case : 字符串的大写形式
trim : 去掉字符串首尾的空格
-序列:
size : 序列中元素的个数
-数字:
int : 数字的证书部分(比如-1.9?int就是-1)


___________________________________________________
处理不存在的值
-default,exists,if_exists


___________________________________________________
检查是否有内容
-has_content
 <#if list?has_content>
  如果list有内容就会在这里输出
  .............................
  .............................
  .............................
 </#if>
 
___________________________________________________
<#assign 设置默认值>
-例如:假设下面的代码中没有名为mouse的变量
${mouse!"NO mouse."}
<#assign mouse="Jerry">
${mouse!"NO mouse."}
-输出结果:
No mouse.
Jerry

___________________________________________________
宏 macro
宏是有一个变量名的模板片段,你可以在模板中使用宏作为自定义指令,这样就能进行重复性工作
-例如:创建一个宏变量来打印大号的“Hello joe!”.
<#macro greet>
<font siz="+2">Hello Joe!</font>
</#macro>
至此
由于macro指令自身不打印任何内容,它只是用来创建宏变量,所以会有一名为greet变量
在<#macro greet>和</#macro>之间的内容(称为宏定义体)当使用它作为指令时将会被执行
可以在FTL标记中通过@代替#来使用自定义指令
如:
<@greet></@greet>
由于
<anything></anything>和<anything/>相同,所以我们可以这样写
<@greet/>
将会打印<font size="+2">Hello Joe!</font>