<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 15,  comments - 4,  trackbacks - 0

    一:if指令:
    <#if condition>...
    <#elseif condition2>...
    <#elseif condition3>...
    ...<#else>...
    </#if>

    二:switch
    <#switch value>
    <#case refValue1>...<#break>
    <#case refValue2>...<#break>...
    <#case refValueN>...<#break>
    <#default>...</#switch>

    三:list,break
    <#list sequence as item>
    ...
    </#list>
    兩個特殊的循環變量:
    item_index: 當前變量的索引值。
    item_has_next: 是否存在下一個對象。

    可以用<#break/>指令離開loop循環。

    四:include指令
    <#include filename>或者
    <#include filenameoptions>
    filename: 表達式轉換為字符串
    options: encoding=encoding, parse=parse encoding: 表達式轉換為字符串
    parse: 表達式轉換為邏輯值,是否作為ftl文件解析。
    <#include "/common/navbar.html" parse=false encoding="Shift_JIS">

    <#include "*/footer.ftl">表示當前目錄下以及所有父目錄下的文件。如果當前模版在/foo/bar/template.ftl ,那么查找footer.ftl的順序為:/foo/bar/footer.ftl
    /foo/footer.ftl/footer.ftl這種方式講允許設計者將通用的模版放在父文件夾里面。
    也可以只指定部分路徑:<#include "*/commons/footer.ftl">

    五:import指令<#import path as hash>
    六:noparse
    <#noparse>
    ...
    </#noparse>

    七:compress
    <#compress>
    ...
    </#compress>
    八:escape,noescape
    <#escape identifier as expression>
    ...
    <#noescape>...</#noescape>
    ...
    </#escape>

    escape指令body區的ftl的interpolations都會被自動加上escape表達式。但是不會影響字符串內的interpolations。而且也只會影響到body內出現的interpolations,比如不會影響到include的ftl的interpolations。
    <#escape x as x?html>
    First name: ${firstName}
    Last name: ${lastName}
    Maiden name: ${maidenName}</#escape>
    等同于:

    First name: ${firstName?html}
    Last name: ${lastName?html}
    Maiden name: ${maidenName?html}

    escape指令在解析模版時起作用,而不是運行時起作用。

    escape指令還能嵌套使用,子繼承父的escape規則。

    <#escape x as x?html>
    Customer Name: ${customerName}
    Items to ship:
    <#escape x as itemCodeToNameMap[x]>
    ${itemCode1}
    ${itemCode2}
    ${itemCode3}
    ${itemCode4}
    </#escape></#escape>
    等同于:Customer Name: ${customerName?html}
    Items to ship:
    ${itemCodeToNameMap[itemCode1]?html}
    ${itemCodeToNameMap[itemCode2]?html}
    ${itemCodeToNameMap[itemCode3]?html}
    ${itemCodeToNameMap[itemCode4]?html}

    九:assign指令
    <#assign name=value>or<#assign name1=value1name2=value2... nameN=valueN>or<#assign same as above... in namespacehash>or<#assign name> capture this</#assign>or<#assign name in namespacehash> capture this</#assign>創建或者替換一個已經存在的變量,只能作用于頂層變量。不好的做法:<#assign x>Hello ${user}!</#assign>更改為:<#assign x="Hello ${user}!">
    十:global指令
    <#global name=value>
    or
    <#global name1=value1name2=value2... nameN=valueN>or<#global name>
    capture this
    </#global>
    十一:local指令
    <#local name=value>
    or
    <#local name1=value1name2=value2... nameN=valueN>or<#local name>
    capture this
    </#local>只能用于macro的定義body中。


    十二:setting指令:

    <#setting name=value>
    name的取值范圍:
    local:number_format:
    boolean_format:缺省值為"true,false"
    date_format, time_format, datetime_format
    time_zone:url_escaping_charset
    classic_compatible

    十三:用戶自定義指令
    <@macro_or_transfparam1=val1param2=val2...paramN=valN/><@macro_or_transfparam1=val1param2=val2...paramN=valN ; lv1, lv2, ..., lvN/><@macro_or_transf...> ...</@macro_or_transf><@macro_or_transf...> ...</@><@macro_or_transfval1, val2, ..., valN/>
    十四:macro,nested,return
    <#macro nameparam1param2... paramN>
    ...
    <#nested loopvar1, loopvar2, ..., loopvarN>
    ...
    <#return>
    ...
    </#macro>

    十五:function, return
    <#function nameparam1param2... paramN>
    ... <#return returnValue>
    ...
    </#function>

    <#function avg x y>
    <#return (x + y) / 2>
    </#function>
    ${avg(10, 20)}

    十六:flush
    <#flush>

    十七:stop
    <#stop>
    or
    <#stop reason>取消處理模版。

    十八:ftl指令
    <#ftl param1=value1param2=value2...paramN=valueN>
    ftl指令必須放在ftl文件的最上面。

    參數范圍:
    encoding:
    strip_whitespace
    strip_text
    strict_syntax

    十九:t, lt, rt
    二十:attempt, recover
    <#attempt>
    attempt block<#recover>
    recover block
    </#attempt>

    <#attempt>
    Optional content: ${thisMayFails}
    <#recover>
    Ops! The optional content is not available.
    </#attempt>

    posted on 2012-11-15 11:30 老天 閱讀(424) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2012年11月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    常用鏈接

    留言簿

    隨筆檔案

    文章檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 中文字幕的电影免费网站| 中日韩亚洲人成无码网站| 一个人看www免费高清字幕| 国产一区二区三区免费视频| 中国亚洲呦女专区| 麻豆一区二区免费播放网站| 亚洲人成电影网站| 性xxxxx免费视频播放| 亚洲精品福利你懂| 精品久久洲久久久久护士免费 | 无码一区二区三区免费| 亚洲日韩精品无码专区网址| 中文字幕无码毛片免费看| 亚洲精品乱码久久久久久久久久久久 | 毛茸茸bbw亚洲人| 久久er国产精品免费观看2| 亚洲国产精品久久久久婷婷软件| 一级毛片成人免费看免费不卡| 亚洲AV无码一区东京热| 亚洲免费在线视频观看| 亚洲成a人无码亚洲成www牛牛 | 久草免费福利视频| 亚洲一区二区三区国产精品无码 | 国产免费av片在线看| 国产天堂亚洲精品| 国产AV无码专区亚洲AV漫画 | 国产亚洲视频在线| 亚洲乱码一区二区三区在线观看| 国偷自产一区二区免费视频| 亚洲成人免费在线观看| 啊v在线免费观看| 国产色爽免费无码视频| 亚洲一区二区三区免费观看| 亚洲成人一区二区| 日韩免费人妻AV无码专区蜜桃| 最新国产精品亚洲| 亚洲精品美女久久777777| 黄页免费的网站勿入免费直接进入| 天天综合亚洲色在线精品| 亚洲av丰满熟妇在线播放| 四虎影院免费视频|