Freemarker基礎(chǔ)語(yǔ)法

取值:

${student} ${student.id}

#{student} #{student.id}


直接輸出字符串

${"hello freemarker"}

#{"hello freemarker"}


if 判斷

<#if student.id == 0>

<h1>0</h1>

<#else if student.id == 1>

<h3>1</h1>

<#else>

error

</#if>


比較運(yùn)算符

=或者==: 判斷兩個(gè)值是否相等.

!=: 判斷兩個(gè)值是否不等.

>或者gt: 判斷左邊值是否大于右邊值

>=或者gte: 判斷左邊值是否大于等于右邊值

<或者lt: 判斷左邊值是否小于右邊值

<=或者lte: 判斷左邊值是否小于等于右邊值

&&: 邏輯與

||: 邏輯或

注意: =和!=可以用于字符串,數(shù)值和日期來(lái)比較是否相等,但=和!=兩邊必須是相同類(lèi)型的值,否則會(huì)產(chǎn)生錯(cuò)誤

FreeMarker 區(qū)分大小寫(xiě) "x"=="X"? false


List 集合數(shù)組

<#list arrays as item>

${item_index} # 取索引下標(biāo)

${item.id} # 取值

</#list>

# 也可以使用<#break>指令跳出迭代


Map 集合字典 (key必須為字符串)

<#if map??>

? ? <#list map?keys as key>

? ? ? ? key:${key!}

? ? ? ? value:${map[key]!}

? ? ? ? <#-- 如果value是個(gè)對(duì)象 ${map[key].id!}-->

? ? </#list>

</#if>


日期類(lèi)型轉(zhuǎn)換

${date?date} # 解析日期

${date?time} # 解析時(shí)間

${date?datetime} # 解析日期+時(shí)間

自定義格式

${date?string('yyyy/MM/dd HH:mm:ss')}


null值的處理

!: 指定缺失變量的默認(rèn)值

??: 判斷某個(gè)變量是否存在

${val!} #為null輸出空白

${val!"默認(rèn)值"} #指定默認(rèn)值


用if判斷null值

<#if val??>

<h1>有值</h1>

<#else>

<h3>val為null</h1>

</#if>


include引入外部文件

<#include "head/hearder.ftl">


import 引入外部文件

將引入的文件守问,放到一個(gè)變量中 可以配合macro指令使用

<#import "head/hearder.ftl" as head>


assign 聲明运沦,賦值

<#assign name = "郭金鵬">

<#assign str = "Hello ${user}!">


算數(shù)運(yùn)算

<#assign x=5>

${ x * x - 100 } # -75?

${ x / 2 } # 2.5

${ 12 % 10 } # 2


int 對(duì)余數(shù)取整

<#assign x=5>

${ (x/2)?int } # 2

${ 1.1?int } # 1

內(nèi)建函數(shù)

<#assign str="<h1>hello freemarker</h1>">

${str ? html} #返回html標(biāo)簽 而不是"<h1>hello freemarker</h1>"字符串

${str ? html ? upper_case} #返回標(biāo)簽的內(nèi)容全大寫(xiě)

html: 對(duì)字符串進(jìn)行HTML編碼

cap_first: 使字符串第一個(gè)字母大寫(xiě)

lower_case: 將字符串轉(zhuǎn)換成小寫(xiě)

upper_case: 將字符串轉(zhuǎn)換成大寫(xiě)

trim: 去掉字符串前后的空白字符

size: 獲取序列中元素的個(gè)數(shù)

int: 對(duì)余數(shù)取整 結(jié)果帶符號(hào)


macro , nested , return指令

<#macro book>? //定義一個(gè)自定義指令

j2ee

</#macro>

<@book />? ? //使用剛才定義的指令

上面的代碼輸出結(jié)果為:????j2ee

<#macro book booklist>? ? //定義一個(gè)自定義指令booklist是參數(shù)

<#list booklist as book>

? ${book}

</#list>

</#macro>

<@book booklist=["spring","j2ee"] />? //使用剛剛定義的指令

上面的代碼為book指令傳入了一個(gè)參數(shù)值,上面的代碼的輸出結(jié)果為:spring j2ee

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子带污,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件港华,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡午衰,警方通過(guò)查閱死者的電腦和手機(jī)立宜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)臊岸,“玉大人橙数,你說(shuō)我怎么就攤上這事∷Ы洌” “怎么了灯帮?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)逻住。 經(jīng)常有香客問(wèn)我钟哥,道長(zhǎng),這世上最難降的妖魔是什么瞎访? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任腻贰,我火速辦了婚禮,結(jié)果婚禮上扒秸,老公的妹妹穿的比我還像新娘播演。我一直安慰自己冀瓦,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布写烤。 她就那樣靜靜地躺著咕幻,像睡著了一般。 火紅的嫁衣襯著肌膚如雪顶霞。 梳的紋絲不亂的頭發(fā)上肄程,一...
    開(kāi)封第一講書(shū)人閱讀 51,462評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音选浑,去河邊找鬼蓝厌。 笑死,一個(gè)胖子當(dāng)著我的面吹牛古徒,可吹牛的內(nèi)容都是我干的拓提。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼隧膘,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼代态!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起疹吃,我...
    開(kāi)封第一講書(shū)人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蹦疑,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后萨驶,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體歉摧,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年腔呜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了叁温。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡核畴,死狀恐怖膝但,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情谤草,我是刑警寧澤跟束,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站咖刃,受9級(jí)特大地震影響泳炉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜嚎杨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望氧腰。 院中可真熱鬧枫浙,春花似錦刨肃、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至紧帕,卻和暖如春盔然,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背是嗜。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工愈案, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鹅搪。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓站绪,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親丽柿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子恢准,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354