国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

FreeMarker筆記 第二章 數值和類型

2019-11-14 21:07:32
字體:
來源:轉載
供稿:網友
FreeMarker筆記 第二章 數值和類型2.1 基本內容 2.1.1 簡介 2.1.2 什么是數值

和程序語言中的數值類型是相似的。

2.1.3 什么是類型? 2.1.4 數據模型是哈希表 2.2 類型 2.2.1 簡介 2.2.2 標量

標量是最基本、最簡單的數值類型,可以是:字符串、數字、布爾值、日期;

2.2.3 容器

容器的類型有:哈希表(HashMap)、序列(ArrayList)、集(集是有限制的序列,不能獲取集的大小,也不能通過索引取出集中的子變量,但是它們仍然可以通過list指令來遍歷);

2.2.4 子程序 2.2.4.1 方法和函數

假設程序員在數據模型中放置了一個方法變量avg,那么它就可以被用來計算數字的平均值。給定3和5作為參數,訪問avg時就能得到結果4;

The average of 3 and 5 is: ${avg(3,5)}

輸出:

The average of 3 and 5 is: 4

那么方法和函數有什么區別呢:它們沒有關系,但也不是一點關系都沒有。方法是來自于數據模型(它們反射了java對象的方法),而函數是定義在模板內的(使用了函數指令-這也是高級主題),但二者可以用同一種方式來使用。

2.2.4.2 用戶自定義指令

用戶自定義指令(換句話說,就是FreeMarker的標簽)。

假設現在有一個變量box,它的值是用戶自定義的指令,用來打印一些特定的HTML信息,這個指令定義了一個標題和其中的信息。

<@box title="Attention!">    Too much copy-pasting may leads to     maintenance headaches.</@box>
2.2.4.3 函數/方法和用戶自定義指令的比較

二者之間的選擇是兩難的。按經驗來說,如果能夠實現,請先用自定義指令而不要用函數/方法。指令的特征如下:

  • 輸出(返回值)的是標記(HTML,xml等)。主要原因是函數的返回結果是可以自動進行XML轉義(這是因為${…}的特性),而用戶自定義指令的輸出則不是(這是因為<@…>的特性所致,它的輸出假定為是標記,因此就不再轉義).
  • 副作用也是很重要的一點,它沒有返回值。例如一個指令的目的是往服務器日志中添加一個條目。(事實上你不能得到自定義指令的返回值,但有些反饋的類型是有可能設置非本地變量的)。
  • 會進行流程的控制(就像list或if指令那樣),但是不能在函數/方法上這么做;
2.2.5 其它2.2.5.1 節點

節點變量代表了樹狀結構中的一個節點,而且通常是配合XML格式來處理的。

節點的主要作用是拓撲信息,也可以存儲一些元信息(metadata)。

 

項目
  1. P1:F:/360/Learn/FreeMarker/workspace/FreeMarker-hello-java/,https://github.com/yejq/FreeMarker-hello-java.git。
  2. P2:F:/360/Learn/freemarker/workspace/FreeMarker-hello-web/, https://github.com/yejq/FreeMarker-hello-web.git。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 扬中市| 安岳县| 恩施市| 内乡县| 白山市| 南川市| 吴旗县| 潼南县| 宁乡县| 锡林郭勒盟| 久治县| 红原县| 馆陶县| 洞口县| 馆陶县| 新泰市| 泰安市| 丹阳市| 吕梁市| 延长县| 体育| 天峻县| 伊宁县| 永宁县| 桑植县| 西林县| 平武县| 交口县| 竹溪县| 乐至县| 荃湾区| 沈阳市| 五河县| 通州市| 通山县| 毕节市| 翁牛特旗| 万宁市| 肥乡县| 义乌市| 安平县|