freemarker基本語法
訪問請求-servlet/action獲取資料-跳往目標模板頁面ftl
pojo
public class student implements serializable
例如在乙個
servlet
中組織將要在模板中使用到的資料
system.out.println("開始處理..."); student student = new student(); student.setid(new integer(110)); student.setname("tom"); student.setbirthdate(new date()); student student2 = new student(); student2.setid(new integer(111)); student2.setname("ken"); student2.setbirthdate(new date()); list stulist = new arraylist(); stulist.add(student); stulist.add(student2); request.setattribute("stulist", stulist); request.setattribute("msg", " get list success & success! "); request.setattribute("i***ist", boolean.true); list indexlist = new arraylist(); indexlist.add(new integer(110)); indexlist.add(new integer(112)); request.setattribute("indexlist", indexlist); list number = new arraylist(); number.add(new integer(1)); number.add(new integer(2)); number.add(new integer(3)); list number2 = new arraylist(); number2.add(new integer(4)); number2.add(new integer(5)); number2.add(new integer(6)); list num = new arraylist(); num.add(number); num.add(number2); date date = new date(); request.setattribute("date", date); request.setattribute("num", num); system.out.println("結束處理..."); request.getrequestdispatcher("/student.ftl").forward(request, response);
跳往目標模板頁面student.ftl
<#assign msg=' this is the test of freemarker & output'> 後台放入字串:$
html編碼:$
轉第乙個字母大寫:$
<#-- 轉第乙個字母小寫:$
--> 字串大寫:$
字串小寫:$
去左右空格:$
空值判斷:$
預設值abc:$
輸出純文字:$
插入boolean值false:<#assign foo=false/>$
取下標為2的字元:$
取字串1-7:$
字串拼接: <#assign ab="abc"> $/$"}
賦值 assign x=3.1415926
<#assign x=3.1415926 /> x:m3小數部分最小3位 #
x:m5小數部分最大5位 #
x:m1m5 #
運算結果:3*5=$
內建int 1.1?int=:$
賦值assign y=20
<#assign y=20> 輸出數字原:$
輸出貨幣數字:$
輸出百分比:$
比較大小 21(使用括號): y>21= <#if (y >21) > false <#else> true
比較大小 21(使用字串):y>21= <#if y gt 21> false <#else> true
轉義字元:$
日期:
格式化輸出:$
格式輸出yyyy-mm-dd hh:mm:ss zzzz:$
賦值:assign a = '1'
a.if - else邏輯判斷
<#assign a = '1'> <#if a='0'> 0 <#elseif a='1'> 1 <#else> 2
b.switch
<#switch a> <#case '0'> 0 <#break> <#case '1'> 1 <#break> <#default> 2
c.遍歷list
後台傳遞list:stulist
判斷是否為空: <#if stulist?size=0> 空的 <#else> 非空
下標: <#list stulist as stu> $
內容: <#list stulist as stu> $
定義list["winter","spring","summer","autumn"]
輸出:<#list ["winter","spring","summer","autumn"] as x> $
list[1..5] <#list 1..5 as list> $
定義map
<#assign ages=> 輸出abc的年齡:$
輸出efg的年齡:$
定義map,分別輸出k-v <#assign selectelement = > <#assign skeys=selectelement?keys> <#list skeys as key> <#assign var0="$"> $-$ ---- $
序列連線["a","b"]+["e","f"]: <#assign liab=["a","b"]+["e","f"]> <#list liab as l > $
雜湊連線+【雜湊右值覆蓋左值】: <#assign ma=+ > <#assign keys=ma?keys > <#list keys as k> $
雙重list迴圈
<#list num as list> <#list list as temp> $
a.使用巨集 <#macro greet person color> hello $!
<@greet person="ken" color="blue"/>
b.巨集呼叫和巢狀nested:
<#macro border msg> $
<#nested>
repart:
<#nested>
<@border msg="the out msg:"> macro test!
c.巨集與巨集之間的巢狀:
<#macro person name> hello! $
<@border msg="the out msg:"> <@person name="ken"/>
d.巨集變數中使用迴圈變數
<#macro repeat count> <#list 1..count as x> <#nested x,x/2,x==count /> <@repeat count=4;c,halfc,last> $. $
<#if last> last!
可以在乙個ftl中專門定義巨集檔案 <#macro page title> 然後在另乙個檔案中使用import呼叫 <#import "/page/ftl/macro/common.ftl" as com> 使用 <@com.page title="">
freemarker 常見語法
2014 06 09 21 19 15 分類 freemarker 舉報 字型大小訂閱 格式比較亂一些,適合ctrl f搜尋關鍵字 freemarker的插值有如下兩種型別 1,通用插值 2,數字格式化插值 或 用於判斷如果存在,就輸出這個值 預設值 預設值 日期格式 20 三種不同的數字格式 20...
freemarker 語法詳解
1 擷取字串 有的時候我們在頁面中不需要顯示那麼長的字串,比如新聞標題,這樣用下面的例子就可以自定義顯示的長度 if title.content?length lt 8 else 意思就是如果這個字串的長度小於8,那麼就正常顯示,反之則取4位 注意 常用的比較運算子 判斷兩個值是否相等 不相等 gt...
Freemarker簡單語法
assign name xx 在頁面定義乙個變數 讀取名稱為name的變數 include ftl 用於模板檔案的巢狀 if else if else判斷語句 list userlist as user 遍歷名稱為userlist的集合 userlist size 獲取userlist 集合的長度 ...