freemarker 常見語法

2021-06-22 09:51:47 字數 2100 閱讀 9240

2014-06-09 21:19:15

|  分類:

freemarker|舉報

|字型大小訂閱

格式比較亂一些,適合ctrl+f搜尋關鍵字 

freemarker的插值有如下兩種型別:1,通用插值$;2,數字格式化插值:#或# 

$  //用於判斷如果存在,就輸出這個值 

$//預設值*** 

$//預設值*** 

$ //日期格式 

$  20 //三種不同的數字格式 

$--<#-- $20.00 --> 

$—<#-- 20% --> 

<#assign foo=ture />   //宣告變數,插入布林值進行顯示 

$ <#-- yes --> 

《等大小比較符號使用需要注意:(xml的原因),可以用於比較數字和日期 

使用lt、lte、gt和gte來替代<、<=、>和》= 也可以使用括號<#if (x>y)> 

內建函式: 呼叫區別於屬性的訪問,使用?代替. 

常見的一些內建函式 

對於字串 

html-對字串進行html編碼 

cap_first-使字串第乙個字母大寫 

lower_case-將字串轉換成小寫 

trim-去掉字串前後的空白字元 

對於sequences(序列) 

size-獲得序列中元素的數目 

對於數字 

int-取得數字的整數部分(如-1.9?int的結果是-1) 

對於集合,可以使用陣列的方式,使用下標索引進行訪問 

邏輯判斷: 

if................ 

<#if condition>... 

<#elseif condition2>... 

<#elseif condition3>...... 

<#else>... 

boolean型別的空值判斷 

空值判斷可以寫成<#if book.name?? >   //注意${}為變數的渲染顯示,而<>為定義等操作符的定義 

switch............ 

<#switch value> 

<#case refvalue1> 

... 

<#break> 

<#case refvalue2> 

... 

<#break> 

... 

<#case refvaluen> 

... 

<#break> 

<#default> 

... 

快速定義int區間的集合 

<#assign l=0..100/> //注意不需要 

3:迴圈讀取集合:  注意/的使用 

<#list student as stu> $ 

與jstl迴圈類似,也可以訪問迴圈的狀態 

item_index:當前變數的索引值 

item_has_next:是否存在下乙個物件 其中item名稱為as後的變數名,如stu 

集合長度判斷 

<#if student?size != 0>  判斷=的時候,注意只要乙個=符號,而不是== 

巨集/模板 

初步了解: 使用更像乙個閉包closure,可以定義後,在指令碼中任意地方引用,並原地起作用 

<#macro greet> 

hello joe!

使用的方式為: 

<@greet>  //同xml可以簡寫成<@greet/> 

巨集的引數定義,類似js,在巨集名後 帶引數進行傳遞定義 

<#macro greet person color> $  

呼叫帶引數時,注意使用類似xml的屬性格式進行傳遞,不需要關心順序問題 

<@greet person="fred" color="black"/> 

引數預設值定義,如果沒有,就必須要求傳遞完整的引數列表 

<#macro greet person color="black"> 

hello $!

使用xml的巢狀內容進行傳遞巨集呼叫,關鍵標籤 <#nested> 

<#macro border> 

<#nested> 

freemarker 語法詳解

1 擷取字串 有的時候我們在頁面中不需要顯示那麼長的字串,比如新聞標題,這樣用下面的例子就可以自定義顯示的長度 if title.content?length lt 8 else 意思就是如果這個字串的長度小於8,那麼就正常顯示,反之則取4位 注意 常用的比較運算子 判斷兩個值是否相等 不相等 gt...

Freemarker語法概要

freemarker基本語法 訪問請求 servlet action獲取資料 跳往目標模板頁面ftl pojo public class student implements serializable 例如在乙個 servlet 中組織將要在模板中使用到的資料 system.out.println ...

Freemarker簡單語法

assign name xx 在頁面定義乙個變數 讀取名稱為name的變數 include ftl 用於模板檔案的巢狀 if else if else判斷語句 list userlist as user 遍歷名稱為userlist的集合 userlist size 獲取userlist 集合的長度 ...