Freemarker的內置函數及用法

在咱們應用Freemarker過程當中,常常會操做例如字符串,數字,集合等,卻不清楚Freemrker有沒有相似於Java同樣有相關的類及方法。在本文當中,我將向你們詳細的介紹Freemarke的內置函數及用法,以便能幫助你們更熟練的應用Freemarker完成項目開發。 html

 

1、  Sequence的內置函數 api

 

1.     sequence?first 返回sequence的第一個值。 eclipse

2.     sequence?last  返回sequence的最後一個值。 ide

3.     sequence?reverse sequence的現有順序反轉,即倒序排序 函數

4.     sequence?size    返回sequence的大小 url

5.     sequence?sort    sequence中的對象轉化爲字符串後順序排序 spa

6.     sequence?sort_by(value) sequence中對象的屬性value進行排序 插件

 

注意:Sequence不能爲null。以上方法在個人另外一篇博客Freemarker中如何遍歷List有詳細的應用,感興趣的朋友能夠參考。 orm

 

2、          Hash的內置函數 htm

 

1.                     hash?keys 返回hash裏的全部key,返回結果爲sequence

2.                     hash?values 返回hash裏的全部value,返回結果爲sequence

例如:

<#assign user={「name」:hailang」, 「sex」:man」}>

            <#assign keys=user?keys>

            <#list keys as key>

                ${key}=${user[key]}

            </#list>

 

3、          操做字符串函數

1.                     substringstart,end)從一個字符串中截取子串

start:截取子串開始的索引,start必須大於等於0,小於等於end

end: 截取子串的長度,end必須大於等於0,小於等於字符串長度,若是省略該參數,默認爲字符串長度。

例子:

${‘str’?substring(0)}à結果爲str

${‘str’?substring(1)}à結果爲tr

${‘str’?substring(2)}à結果爲r

${‘str’?substring(3)}à結果爲

 

${‘str’?substring(0,0)}à結果爲

${‘str’?substring(0,1)}à結果爲s

${‘str’?substring(0,2)}à結果爲st

${‘str’?substring(0,3)}à結果爲str

 

 

2.                     cap_first 將字符串中的第一個單詞的首字母變爲大寫。

${‘str’cap_first}à結果爲Str

3.                     uncap_first將字符串中的第一個單詞的首字母變爲小寫。

${‘Str’cap_first}à結果爲str

 

4.                     capitalize將字符串中的全部單詞的首字母變爲大寫

${‘str’ capitalize}à結果爲STR

5.                     date,timedatetime將字符串轉換爲日期

例如:

<#assign date1=」 2009-10-12 」?date(「yyyy-MM-dd」)>

<#assign date2=」9:28: 20」 ?time(「HH:mm:ss」)>

<#assign date3=」 2009-10-12 9:28: 20」 ?time(「HH:mm:ss」)>

 

${date1}à結果爲 2009-10-12

${date2}à結果爲9:28:20

${date3}à結果爲2009-10-12 9:28:20

 

注意:若是指定的字符串格式不正確將引起錯誤。

6.                     ends_with 判斷某個字符串是否由某個子串結尾,返回布爾值。

${string」?ends_with(「ing」)?string} 返回結果爲true

注意:布爾值必須轉換爲字符串才能輸出

7.                     html 用於將字符串中的<>&和「替換爲對應得&lt;&gt;&quot:&amp

8.                     index_ofsubstring,start)在字符串中查找某個子串,返回找到子串的第一個字符的索引,若是沒有找到子串,則返回-1

  Start參數用於指定從字符串的那個索引處開始搜索,start爲數字值。

  若是start大於字符串長度,則start取值等於字符串長度,若是start小於0, 則start取值爲0

  ${「string」?index_of(「in」) à結果爲3

${「string」?index_of(「ab」) à結果爲-1

9.                     length返回字符串的長度 ${「string」?length}à結果爲6

10.                  lower_case將字符串轉爲小寫

${「STRING」?lower_case}à結果爲string

11.                  upper_case將字符串轉爲大寫

${「string」?upper_case}à結果爲STRING

12.                  contains 判斷字符中是否包含某個子串。返回布爾值

  ${「string」?contains(「ing」)?string} à結果爲true

    注意:布爾值必須轉換爲字符串才能輸出

13.                  number將字符串轉換爲數字

${「 111.11」 ?number}à結果爲111.11

14.                  replace用於將字符串中的一部分從左到右替換爲另外的字符串。

${「strabg」?replace(「ab」,」in」)} à結果爲string

15.                   split使用指定的分隔符將一個字符串拆分爲一組字符串

<#list 「This|is|split」?split(「|」) as s>

    ${s}

</#list>

結果爲:

This

is

split

 

16.                  trim 刪除字符串首尾空格 ${「  String 」?trim} à結果爲String

 

 

4、          操做數字

1.                     c 用於將數字轉換爲字符串

${123?c} à結果爲123

2.                     string用於將數字轉換爲字符串

Freemarker中預訂義了三種數字格式:number,currency(貨幣)和percent(百分比)其中number爲默認的數字格式轉換

例如: 

<#assign tempNum=20>

${tempNum}    

${tempNum?string.number}${tempNum?string(「number」)} à結果爲20

${tempNum?string.currency}${tempNum?string(「currency」)} à結果爲¥20.00

${tempNum?string. percent}${tempNum?string(「percent」)} à結果爲2,000%

5、    操做布爾值

 

string 用於將布爾值轉換爲字符串輸出

true轉爲「true」false轉換爲「false」

 

foo?string(「yes」,」no」)若是布爾值是true,那麼返回「yes,不然返回no

 

      經過上面對開發中經常使用的Freemarker內置函數及用法的介紹,相信您已經對這些函數的有了必定的瞭解,但願本文能對您的開發有所幫助。因爲時間倉促,有不足之處請您批評指正。

 

附件下載請至原文。

原文地址:http://www.po-soft.com/hi/hailang

相關文章
相關標籤/搜索