<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免费视频| 亚洲日韩国产欧美一区二区三区| 一区二区三区免费在线观看| 成人免费在线视频| 亚洲午夜精品国产电影在线观看| 7723日本高清完整版免费| 亚洲一卡二卡三卡| 成年大片免费视频| 国产亚洲精品第一综合| 最新精品亚洲成a人在线观看| 两个人看的www视频免费完整版| 亚洲精品你懂的在线观看| 国产成人免费ā片在线观看老同学| 亚洲AV午夜福利精品一区二区| 免费国产叼嘿视频大全网站 | 暖暖日本免费中文字幕| 亚洲精品自在在线观看| 免费视频成人片在线观看| 亚洲精品中文字幕无乱码| 好大好深好猛好爽视频免费| 久久精品亚洲日本波多野结衣| 亚洲成A人片77777国产| 国产猛男猛女超爽免费视频| 亚洲狠狠狠一区二区三区| 天堂在线免费观看中文版| 国产区在线免费观看| 亚洲男人的天堂在线| 国产精品成人免费综合| 老司机精品免费视频| 亚洲an日韩专区在线| 免费一看一级毛片| 日韩精品人妻系列无码专区免费| 亚洲色欲色欲www| 亚洲精品国产精品国自产观看 | 亚洲黄色免费在线观看| 亚洲1区2区3区精华液| 亚洲国产另类久久久精品小说| 可以免费看黄视频的网站| www成人免费观看网站| 亚洲免费中文字幕| 中文字幕亚洲激情|