手册写的不错,忘记的时候能够翻翻n(*≧▽≦*)nhtml
--------------------------------------------分割线--------------------------------------------spring
1 <div>${expr}</div>
为了处理缺失变量,FreeMarker提供了两个运算符: (用于防止对象不存在而致使的异常报错 )数组
! : 指定缺失变量的默认值 jsp
?? : 判断某个变量是否存在,返回boolean值函数
好比:spa
1 <#if item??> 2 <div>${item}</div> 3 </#if>
又或者:code
1 <#if (item.name)??> 2 <div>${item.name!'admin'}</div> 3 </#if>
特别提示:htm
<#if (item.name)??></#if> 与 <#if item.name??></#if>是不同的哦,前者判断item和name是否为空,然后者指判断name是否为空!对象
html :字符串中全部的特殊 HTML 字符都须要用实体引用来代替(好比 < 代替 < )
trim :去掉字符串先后的空白字符
size : 序列(seqlist)中元素的个数
string :指定格式,经常使用日期
例子:blog
1 ${item.date?string('yyyy-MM-dd HH:mm:ss')} //日期格式 2 ${item?string.number} //数字格式 3 ${item.money!?string("0.00")} 元 //金钱格式
?html 用于将字符串中可能包含的html字符,进行过滤.
obj.Map()
使用{}包住,以成对的键值存在;
能够混合使用.和[""],例如item.stu['name'];
<#if condition>...
<#elseif condition2>...
<#else>...
1 <#list items as item> 2 ${item} 3 </#list>
item_index为当前变量的索引值,从0开始
item_has_next是否存在下一个对象(来辨别当前项是不是序列的最后一项的布尔值)
手册示例:
1 <#assign seqlist=["spring","summer","autumn","winner"]>; 2 <#list seqlist as item> 3 ${item_index + 1}.${item} <#if item_has_next>,</#if> 4 </#list>
结果是按数组顺序输出!
<#assign num=1 > (建立变量num)
<#assign num=num+1 > (替换变量num)
能够在任何地方使用访问
<#if item.name??></#if> (询问变量是否存在)
${user!"Anonymous"} 或者 ${user!}(指定默认)
特别注意几点:
FreeMarker模板语言没有null关键字,因此不能判断变量是否为Null;
FreeMarker 不能容忍引用不存在的变量,除非明确地告诉它当变量不存在时如何处理;
不存在的变量和一个值为null的变量,是同样的。
\r 回车 \n 换行 \" 双引号 \' 单引号 \t Tab \b 退格键 \\ 反斜杠 注意** > gt >= gte < lt <= lte
<#include "../header.html" />
插入另一个指定路径的 FreeMarker 模板文件,输出格式是在include标签出现的地方插入;
区分:
<@include_page path="../header.html"/>
会开始一个独立的 HTTP 请求处理,通常不用;
JSP写法:
<jsp:include page="path/to/some.jsp">
--------------------------------------------分割线-------------------------------------------- 上面总结的都是我平时用到的一些指令语法等内容,其余没有用到的我就暂时没有放上来,之后会继续补充哒n(*≧▽≦*)n!