posts - 0,  comments - 17,  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>
          兩個(gè)特殊的循環(huán)變量:
          item_index: 當(dāng)前變量的索引值。
          item_has_next: 是否存在下一個(gè)對(duì)象。

          可以用<#break/>指令離開(kāi)loop循環(huán)。

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

          <#include "*/footer.ftl">表示當(dāng)前目錄下以及所有父目錄下的文件。如果當(dāng)前模版在/foo/bar/template.ftl ,那么查找footer.ftl的順序?yàn)椋?foo/bar/footer.ftl
          /foo/footer.ftl/footer.ftl這種方式講允許設(shè)計(jì)者將通用的模版放在父文件夾里面。
          也可以只指定部分路徑:<#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區(qū)的ftl的interpolations都會(huì)被自動(dòng)加上escape表達(dá)式。但是不會(huì)影響字符串內(nèi)的interpolations。而且也只會(huì)影響到body內(nèi)出現(xiàn)的interpolations,比如不會(huì)影響到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指令在解析模版時(shí)起作用,而不是運(yùn)行時(shí)起作用。

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

          <#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>創(chuàng)建或者替換一個(gè)已經(jīng)存在的變量,只能作用于頂層變量。不好的做法:<#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

          十三:用戶(hù)自定義指令
          <@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文件的最上面。

          參數(shù)范圍:
          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 2008-05-13 18:22 xyz 閱讀(608) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 網(wǎng)絡(luò)文摘

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          留言簿

          隨筆檔案(1)

          文章分類(lèi)(44)

          文章檔案(46)

          收藏夾(1)

          Adobe

          AOP

          API

          appServer

          BI

          c

          • c-free
          • codeblocks
          • codelite
          • CodeLite IDE 是一個(gè)強(qiáng)大的開(kāi)源,跨平臺(tái)的 C/C++整合開(kāi)發(fā)環(huán)境. 支持包括 Windows、Linux 和 Mac 系統(tǒng)下運(yùn)行
          • codelite官網(wǎng)
          • dev-c++
          • Dev-C++是一個(gè)C&C++開(kāi)發(fā)工具,它是一款自由軟件,遵守GPL協(xié)議。
          • GCC
          • GCC 原名為 GNU C 語(yǔ)言編譯器(GNU C Compiler),因?yàn)樗局荒芴幚?C語(yǔ)言。GCC 很快地?cái)U(kuò)展,變得可處理 C++。之后也變得可處理 Fortran、Pascal、Objective-C、Java, 以及 Ada 與其他語(yǔ)言。

          Cache

          CMS

          DB

          eclipse

          FreeMarker

          hibernate

          html5

          ibatis

          java

          jquery

          js

          json

          Linux

          Log

          mail server

          mobile

          mysql

          oauth

          openID

          other

          PHP

          portal

          report

          Scheduler

          schema

          Security

          SOA

          spring

          struts

          UI原型設(shè)計(jì)

          w3c

          Wap

          webservice

          xml

          供應(yīng)鏈管理

          博客鏈接

          好網(wǎng)站

          工作流

          開(kāi)源網(wǎng)

          招聘

          插件下載

          操作系統(tǒng)

          構(gòu)建可伸縮的系統(tǒng)

          構(gòu)建工具

          測(cè)試

          • IETest
          • IE官網(wǎng)
          • OpenSTA
          • Siege
          • Siege是一個(gè)壓力測(cè)試和評(píng)測(cè)工具,設(shè)計(jì)用于WEB開(kāi)發(fā)這評(píng)估應(yīng)用在壓力下的承受能力

          游戲

          源碼托管

          經(jīng)營(yíng)

          資源

          金融/財(cái)務(wù)

          搜索

          •  

          最新評(píng)論

          主站蜘蛛池模板: 新干县| 绩溪县| 万年县| 克什克腾旗| 昌图县| 武川县| 吉隆县| 井冈山市| 昌都县| 泽州县| 井研县| 静宁县| 绥中县| 肇源县| 望城县| 益阳市| 湘乡市| 南靖县| 宣汉县| 西平县| 金寨县| 土默特右旗| 于都县| 安新县| 富源县| 仙桃市| 安化县| 阜平县| 涿鹿县| 德格县| 莱州市| 财经| 吉水县| 景洪市| 中西区| 渑池县| 托里县| 沙田区| 大兴区| 沙洋县| 平顶山市|