FreeMarker設計指南(2)
2、資料模型
(1)基礎
在快速入門中介紹了在模板中使用的三種基本物件型別:scalars、hashes 和sequences,其實還可以有其它更多的能力:
Ø scalars:儲存單值
Ø hashes:充當其它物件的容器,每個都關聯一個唯一的查詢名字
Ø sequences:充當其它物件的容器,按次序訪問
Ø 方法:透過傳遞的引數進行計算,以新物件返回結果
Ø 使用者自定義FTL標記:宏和變換器
通常每個變數只具有上述的一種能力,但一個變數可以具有多個上述能力,如下面的例子:
(root) | +- mouse = "Yerri" | +- age = 12 | +- color = "brown"> mouse既是scalars又是hashes,將上面的資料模型合併到下面的模板:
${mouse}
Yerri12brown (2)Scalar變數
Scalar變數儲存單值,可以是:
Ø 字串:簡單文字,在模板中使用引號(單引號或雙引號)括起
Ø 數字:在模板中直接使用數字值
Ø 日期:儲存日期/時間相關的資料,可以是日期、時間或日期-時間(Timestamp);通常情況,日期值由程式設計師加到資料模型中,設計者只需要顯示它們
Ø 布林值:true或false,通常在標記中使用
(3)hashes 、sequences和集合
有些變數不包含任何可顯示的內容,而是作為容器包含其它變數,者有兩種型別:
Ø hashes:具有一個唯一的查詢名字和它包含的每個變數相關聯
Ø sequences:使用數字和它包含的每個變數相關聯,索引值從0開始
集合變數通常類似sequences,除非無法訪問它的大小和不能使用索引來獲得它的子變數;集合可以看作只能由指令使用的受限sequences
(4)方法
方法變數通常是基於給出的引數計算值
下面的例子假設程式設計師已經將方法變數avg放到資料模型中,用來計算數字平均值:
The average of 3 and 5 is: ${avg(3, 5)}The average of 6 and 10 and 20 is: ${avg(6, 10, 20)}The average of the price of python and elephant is: ${avg(animals.python.price, animals.elephant.price)}(5)宏和變換器
宏和變換器變數是使用者自定義指令(自定義FTL標記),會在後面講述這些高階特性
(6)節點
節點變數表示為樹型結構中的一個節點,通常在XML處理中使用,會在後面的專門章節中講述
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/750220/viewspace-905565/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- FreeMarker設計指南(1)
- FreeMarker設計指南(3)
- FreeMarker設計指南(4)
- 《Wrox:J2EE設計開發程式設計指南》的前言程式設計
- Quartz 2D程式設計指南 (一) —— 簡介(一)quartz程式設計
- [譯]AppExtension程式設計指南:擴充套件基礎2APP程式設計套件
- Python函數語言程式設計指南(2):函式Python函數程式設計函式
- restful api設計指南RESTAPI
- 微服務設計指南微服務
- JavaScript SDK 設計指南JavaScript
- RESTful API 設計指南RESTAPI
- 互動設計指南
- 新手網站建設指南(2)網站
- Swift程式設計權威指南第2版 讀後收穫Swift程式設計
- 《WebGL程式設計指南》學習筆記——2.使用< canvas >元素Web程式設計筆記Canvas
- RESTFUL API 安全設計指南RESTAPI
- SVGA 設計使用指南SVG
- Core Text 程式設計指南程式設計
- 程式設計師脫單指南程式設計師
- UX設計指南 - DEV社群UXdev
- Spark—GraphX程式設計指南Spark程式設計
- SAP OData程式設計指南程式設計
- 滾動視差設計指南
- 程式設計師跳槽指南程式設計師
- RESTful API 設計指南【轉】RESTAPI
- Java Socket 程式設計指南Java程式設計
- 程式設計師熬夜指南程式設計師
- bash 程式設計指南(轉)程式設計
- 服務端指南 | 良好的 API 設計指南服務端API
- 服務端指南 | 微服務初級設計指南服務端微服務
- 程式設計師裝B指南程式設計師
- 遊戲程式設計入門指南遊戲程式設計
- 全境封鎖UI設計指南UI
- React元件「設計模式」快速指南React元件設計模式
- 程式設計師防猝死指南程式設計師
- 程式設計師【黑話】指南程式設計師
- MT6797 LCM設計指南
- UI設計終極配色指南UI