freemarker FTL 常見語法

2021-06-22 01:31:53 字數 1477 閱讀 6283

freemarker(ftl)常見語法大全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 FTL常用標籤及語法

判斷物件是否存在,若成立說明存在 if blockobjlist if blockobjlist else 判斷知否和某乙個值相等 先判斷是否存在,在判斷相等,如果該指定的引數不存在還比較相等的話就回出錯 if componentid componentid 1 list迴圈 迴圈遍歷list並給遍...

freemarker FTL常用標籤及語法

判斷物件是否存在,若成立說明存在 if blockobjlist if blockobjlist else 判斷知否和某乙個值相等 先判斷是否存在,在判斷相等,如果該指定的引數不存在還比較相等的話就回出錯 if componentid componentid 1 list迴圈 迴圈遍歷list並給遍...

freemarker ftl模板語法和指令

freemarker模板上主要由一下4個部分組成 1 注釋,即,介於其之間的內容會被freemarker忽略 2 插值 interpolation 即 部分,freemarker會用真實的值代替 3 ftl指令 和html標記類似,名字前加 予以區分,freemarker會解析標籤中的表示式或邏輯 ...