FreeMarker模板使用小結

  手冊寫的不錯,忘記的時候能夠翻翻n(*≧▽≦*)nhtml

--------------------------------------------分割線--------------------------------------------spring

  1.插值--通用

1 <div>${expr}</div>

  2.插值結合運算符

    爲了處理缺失變量,FreeMarker提供了兩個運算符: (用於防止對象不存在而致使的異常報錯 )數組

    ! : 指定缺失變量的默認值 jsp

    ?? : 判斷某個變量是否存在,返回boolean值函數

    好比:spa

1 <#if item??>
2     <div>${item}</div>
3 </#if>

    又或者:code

1     <#if (item.name)??>
2         <div>${item.name!'admin'}</div>
3     </#if>

    特別提示:htm

     <#if (item.name)??></#if> 與 <#if item.name??></#if>是不同的哦,前者判斷item和name是否爲空,然後者指判斷name是否爲空!對象

  3.內置函數   

      html :字符串中全部的特殊 HTML 字符都須要用實體引用來代替(好比 < 代替 &lt; )
      trim :去掉字符串先後的空白字符
      size : 序列(seqlist)中元素的個數
      string :指定格式,經常使用日期
      例子:blog

1 ${item.date?string('yyyy-MM-dd HH:mm:ss')} //日期格式
2 ${item?string.number} //數字格式
3 ${item.money!?string("0.00")} 元  //金錢格式

      ?html 用於將字符串中可能包含的html字符,進行過濾.

  4.對象的使用  

    obj.Map()
    使用{}包住,以成對的鍵值存在;
    能夠混合使用.和[""],例如item.stu['name'];

  5.邏輯判斷    

    <#if condition>...     

    <#elseif condition2>...
    <#else>...

  6.列表循環

1     <#list items as item>
2         ${item}
3      </#list>

    item_index爲當前變量的索引值,從0開始
    item_has_next是否存在下一個對象(來辨別當前項是不是序列的最後一項的布爾值)

    手冊示例:

1 <#assign seqlist=["spring","summer","autumn","winner"]>;
2     <#list seqlist as item>
3         ${item_index + 1}.${item} <#if item_has_next>,</#if>
4     </#list>

    結果是按數組順序輸出!

  7.assign指令建立

    <#assign num=1 > (建立變量num)
    <#assign num=num+1 > (替換變量num)
    能夠在任何地方使用訪問

  8.空值(或不存在)變量的判斷     

    <#if item.name??></#if> (詢問變量是否存在)
    ${user!"Anonymous"} 或者 ${user!}(指定默認)

    特別注意幾點:
    FreeMarker模板語言沒有null關鍵字,因此不能判斷變量是否爲Null;
    FreeMarker 不能容忍引用不存在的變量,除非明確地告訴它當變量不存在時如何處理;
    不存在的變量和一個值爲null的變量,是同樣的。

  9.特殊字符

         \r 回車
        \n 換行
        \" 雙引號
        \' 單引號
        \t Tab
        \b 退格鍵
        \\ 反斜槓
    注意**
        >  gt
        >= gte
        <  lt
        <= lte        

  10.include 導入其餘頁面

<#include "../header.html" />

    插入另一個指定路徑的 FreeMarker 模板文件,輸出格式是在include標籤出現的地方插入;

    區分:

<@include_page path="../header.html"/> 

      會開始一個獨立的 HTTP 請求處理,通常不用;

    JSP寫法:

<jsp:include page="path/to/some.jsp"> 

--------------------------------------------分割線-------------------------------------------- 上面總結的都是我平時用到的一些指令語法等內容,其餘沒有用到的我就暫時沒有放上來,之後會繼續補充噠n(*≧▽≦*)n!

相關文章
相關標籤/搜索