天天看點

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" /> 
           

繼續閱讀