天天看点

FreeMarker使用

特殊字段

原意 Marker中转义
等于 ==
不等于 !=
>

gt

>=

gte

<

lt

<=

lte

&&
||
双引号 双引号
反斜杠 \\
单引号 \’
换行 \n
回车 \r
退格键 \b
Tab键 \t
\f:Form feed 
\l:<            
\g:>           
\a:&          
\{:{ 
\xCode: 直接通过 4 位的十六进制数来指定 Unicode 码 , 输出改 Unicode 对应的字符。 
           

运算符优先级

  • 推荐使用括号来决定运算优先级 .

    1>. 一元运算符 : !

    2>. 内建函数 : ?

    3>. 乘除法 : *,/,%

    4>. 加减法 : +,-

    5>. 比较 :< ,>,<=,>=(lt,lte,gt,gte)

    6>. 相等 : ==(=),!=

    7>. 逻辑与 : &&

    8>. 逻辑或 : ||

    9>. 数字范围 : …

字符串处理

${item.createTime?default("")[0..9]}  //字符串截取
${"Hello," + user + "!"}    // 输出结果为 :hello,gs! 

//~~~  时间格式判断
${now?string("yyyy-MM-dd HH:mm:ss zzzz")}  //输出:2003-04-08 21:24:44 Pacific Daylight Time 
${now?string("EEE,MMM d, ''yy")} // 输出:Tue,Apr 8,'03 
${now?string("EEEE,MMM dd,yyyy, hh:mm:ss a '('zzz')'")} // 输出:Tuesday,April 08,2003,09:24:44 PM (PDT) 
// 利用IF 转换
< #assign foo=true/> 
 ${foo?string("yes","no")}         // 输出结果 :yes 
 
 //去掉前后 空格
 ${xx?trim} 
           

数值精度控制

mX: 小数部分最小 X 位

MX: 小数部分最大 X 位

eg:

< #assign x=2.582/> 
< #assign y=4/> 
#{x; M2}           //2.58 
#{y; M2}           //4 
#{x; m1M2}         //2.58 
#{y; m1M2}         //4.0 
${data.日电量?c}   // ?c 代表数字取整


           

List输出个数控制

循环 0 至 7 之间的元素:

<#list row.data[0..7] as item>

List Size 判断 :

<#if row.data?size gte 8>

集合连接运算符:

//集合连接运算是将两个集合连接成一个新的集合 , 连接集合的运算符是 '+'. 
< #list [" 一 "," 二 "," 三 "] + [" 四 "," 五 "," 六 "] as x> 
    ${x} 
< /#list> 
// 输出结果如下 : 一二三四五六  
           

算术运算符

< #assign x=5> 
${(x/2)?>int}     //2 
${1.1?int}        //1 
${1.999?int}      //1 
${-1.1?int}       //-1 
           

内置函数

html: 字符串中所有的特殊 HTML 字符都需要用实体引用来代替(比如 < 代替 < ) cap_

first: 字符串的第一个字母变为大写形式

lower_case: 字符串的小写形式

upper_case: 字符串的大写形式

trim: 去掉字符串首尾的空格

size :序列中元素的个数 数字使用的内建函数:

int: 数字的整数部分(比如 -1.9?int 就是 -1 ) 9>.

length: 字符串的长度

string : 把其他格式的数据,转化为 string 类型

// test=”Tom & Jerry”
${test?html}                //输出为:  Tom & Jerry
${test?upper_case?html}     //输出为: TOM & JERRY 

//seasons = "winter", "spring", "summer", "autumn"
${seasons?size}             //输出 : 4
${seasons[1]?cap_first}     //输出 : Spring

${"horse"?cap_first}        //输出 :Horse 
           

在 ftl 中嵌入另一个 controller

<#assign c=JspTaglibs[ "http://java.sun.com/jsp/jstl/core" ] > 
<@c.import  url= "/product/hotlistByHttp.htm" /> 
           

继续阅读