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>
          兩個特殊的循環變量:
          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 2008-05-13 18:22 xyz 閱讀(608) 評論(0)  編輯  收藏 所屬分類: 網絡文摘

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

          留言簿

          隨筆檔案(1)

          文章分類(44)

          文章檔案(46)

          收藏夾(1)

          Adobe

          AOP

          API

          appServer

          BI

          c

          • c-free
          • codeblocks
          • codelite
          • CodeLite IDE 是一個強大的開源,跨平臺的 C/C++整合開發環境. 支持包括 Windows、Linux 和 Mac 系統下運行
          • codelite官網
          • dev-c++
          • Dev-C++是一個C&C++開發工具,它是一款自由軟件,遵守GPL協議。
          • GCC
          • GCC 原名為 GNU C 語言編譯器(GNU C Compiler),因為它原本只能處理 C語言。GCC 很快地擴展,變得可處理 C++。之后也變得可處理 Fortran、Pascal、Objective-C、Java, 以及 Ada 與其他語言。

          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原型設計

          w3c

          Wap

          webservice

          xml

          供應鏈管理

          博客鏈接

          好網站

          工作流

          開源網

          招聘

          插件下載

          操作系統

          構建可伸縮的系統

          構建工具

          測試

          • IETest
          • IE官網
          • OpenSTA
          • Siege
          • Siege是一個壓力測試和評測工具,設計用于WEB開發這評估應用在壓力下的承受能力

          游戲

          源碼托管

          經營

          資源

          金融/財務

          搜索

          •  

          最新評論

          主站蜘蛛池模板: 西林县| 扶风县| 宁国市| 石棉县| 高青县| 太康县| 全椒县| 凉山| 新乡市| 手机| 扬州市| 盐源县| 察哈| 巨鹿县| 鄂托克旗| 渝中区| 化隆| 太保市| 西安市| 周口市| 盐城市| 石景山区| 镇宁| 儋州市| 洛阳市| 阿勒泰市| 远安县| 二连浩特市| 诏安县| 股票| 天门市| 沧源| 太和县| 华蓥市| 金昌市| 呼伦贝尔市| 红河县| 那曲县| 托克托县| 会同县| 平南县|