特殊字段
原意 | Marker中轉義 |
---|---|
等于 | == |
不等于 | != |
> | |
>= | |
< | |
<= | |
與 | && |
或 | || |
非 | ! |
雙引号 | 雙引号 |
反斜杠 | \\ |
單引号 | \’ |
換行 | \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" />