在pom.xml中新增依賴jar包
org.freemarker
freemarker
2.3.31
新增jetty外掛程式
org.eclipse.jetty
jetty-m**en-plugin
9.2.1.v20140609
在web.xml檔案中新增以下內容
freemarker
freemarker.ext.servlet.freemarkerservlet
templatepath
/default_encoding
utf-8
freemarker
*.ftl
在ftl模板檔案中,可以正常使用html,css和js的**
布林型別在freemarker中布林型別不能直接輸出;如果輸出要先轉成字串
方法一:?c
方法二:?string 或 ?string("true時的文字","false時的文字")
-->
$ $
$
日期型別日期型別
1. 年月日 ?date
2. 時分秒 ?time
3. 年月日時分秒 ?datetime
4. 自定義格式 ?string("自定義")
y:年 m:月 d:日
h:時 m:分 s:秒
-->
日期型別
$ $
$ $
數值型別1.轉字串
普通字串 ?c
貨幣型字串 ?string.currency
百分比型字串 ?string.percent
2.浮點型的數值轉換成指定小數字輸出(#表示小數字)
?string["0.##"]
-->
數值型別
$ $
$ $
$ $
$
字串型別字串連線操作- +
eg:$
獲取字串的長度- ?length
eg:$
取第一次出現的索引- ?index_of()
eg:$
取最後一次出現的索引- ?last_index_of()
eg:$
字串擷取- ?substring()
eg:$
字串替換- ?replace()
eg:$
字串分割- ?split()
eg:$
去掉前後的空格- ?trim
eg:$-$
判斷字串是否包含指定的子字串- ?contains()
eg:$
判斷是否以給定的子字串開頭- ?starts_with()
eg:$
判斷是否以給定的子字串結尾- ?ends_with()
eg:$
將字串全部轉換為大寫- ?upper_case
eg:$
將字串全部轉換為小寫- ?lower_case
eg:$
將字串的首字母變大寫- ?cap_first
eg:$
當字串為空值時:
不存在的值 --報錯
值為null --報錯
$ 如果value的值不存在時,則預設顯示空字串
$ 如果value的值不存在時,預設顯示指定字串
使用??,判斷字串是否為空;返回布林型別。如果想要輸出,需要將布林型別轉換成字串
$ 或$
sequence型別通過list指令輸出序列
$獲取序列的長度 $
獲取序列元素的下標 $
獲取第乙個元素 $
獲取最後乙個元素 $
倒序輸出 序列名?reverse
公升序輸出 序列名?sort
降序輸出 序列名?sort?reverse
指定欄位名排序 序列名?sort_by("欄位名")
注:一般是j**abean集合,對應的欄位名需要提供get方法
$ -- $
$ -- $
格式二:
當沒有選項時,執行else指令
注意: 1.else部分是可選的
2.sequence為想要迭代的項,可以是序列或集合的表示式
3.item:迴圈變數的名稱
4.當沒有迭代項時,才是用else指令,可以輸出一些特殊的內容而不只是空在那裡
hash型別(map)key遍歷輸出
$ --- $
value遍歷輸出
$例如:
$ --- $
assign自定義變數指令語法:
if,elseif,else邏輯判斷指令小於60
等於60
大於60
沒有分數
lt等同於 < 小於
gt等同於 > 大於
lte等同於 <= 小於等於
gte等同於 >= 大於等於
macro 自定義指令(巨集)1. 基本使用
格式:指令內容
使用:
指令內容
使用:這是一段話!
$ * $ = $
$ * $ = $
這是一段話!
插入一句話!
include包含指令
可以使用inlcude
指令在你的模板中插入另外乙個freemarker模板檔案。被包含模板的輸出格式實在include標籤出現的位置插入的,被包含的檔案和包含他的模板共享變數,就像是被複製貼上進去的一樣。
插入html檔案
插入freemarker檔案
插入text檔案
插入的freemarker檔案中帶有引數的指令也可以用,兩個檔案都是通用的
例如:
j**a**:
//獲取系統時間戳加字尾
string filename = system.currenttimemillis()+".html";
file file = new file(htmlfile,filename);
//獲取檔案輸出流
filewriter filewriter = new filewriter(file);
//生成html
try catch (templateexception e) finally }}
模板:
$
freemarker學習總結
最近比較鬱悶,sourceforge進不去,freemarker和hibernate等都託管於sourceforge,於是自己做一點學習記錄,僅為了方便日後使用方便查閱 彙總freemarker標籤 1.插值 2.ftl tags標籤,ftl是區分大小寫的,如 break 標籤等等,自定義標籤用 m...
Freemarker使用筆記1 配置步驟
一 freemarker簡介 網頁靜態化技術和快取技術的共同點都是為了減輕資料庫的訪問壓力,但是具體的應用場景不同,快取比較適合小規模的資料,而網頁靜態化比較適合大規模且相對變化不太頻繁的資料。另外網頁靜態化還有利於seo。另外我們如果將網頁以純靜態化的形式展現,就可以使用nginx這樣的高效能的w...
freemarker 整理手冊
注釋 包含在 和 local y test 定義區域性變數 import lib my test.ftl as my 匯入模板檔案 指定名字空間 my macro greet 使用者定義指令 hello joe 作為使用者定義指令使用巨集變數時,使用 替代ftl標記中的 greet 如果沒有體內容,...