码迷,mamicode.com
首页 > 其他好文 > 详细

freemarker

时间:2018-07-04 21:05:54      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:mis   日期   没有   mode   部分   html标签   anim   ima   相关   

freemarker

模板 + 数据模型 = 输出

数据模型(Data Model)

(root)
  |
  +- animals
  |   |
  |   +- elephant
  |   |   |   
  |   |   +- size = "large"
  |   |   |   
  |   |   +- price = 5000
  |   |
  |
  +- message = "It is a test"
  |
  +- misc
      |
      +- fruits
          |
          +- (1st) = "orange"
          |
          +- (2nd) = "banana"

上图中的变量扮演目录的角色

  • root, animals, elephant, misc被称为 hashes(哈希)。哈希表存储其他变量(被称为子变量), 它们可以通过名称来查找(比如animals或price)。
  • 存储单值的变量 (size,price,message) 称为 scalars(标量)。
    如果要在模板中使用子变量, 那应该从根root开始指定它的路径: animals.elephant.price。
  • 另外一种很重要的变量是 sequences (序列)。 它们像哈希表那样存储子变量,但是子变量没有名字,它们只是列表中的项。 比如,在下面这个数据模型中 misc.fruits 就是序列:
  1. 数据模型可以被看成是树形结构。
  2. 标量用于存储单一的值。这种类型的值可以是字符串,数字,日期/时间或者是布尔值。
  3. 哈希表是一种存储变量及其相关且有唯一标识名称的容器。
  4. 序列是存储有序变量的容器。存储的变量可以通过数字索引来检索,索引通常从0开始

模板

模板(FTL编程)是由如下部分混合而成的:

  • 文本:文本会照着原样来输出。

  • 插值:这部分的输出会被计算的值来替换。插值由 ${ and } 所分隔。插值仅仅可以在文本中使用。

  • FTL 标签:FTL标签和HTML标签很相似,但是它们却是给FreeMarker的指示,而且不会打印在输出内容中。FTL是区分大小写的,FTL 标签 不可以在其他 FTL 标签 和 插值中使用。

  • 注释:注释和HTML的注释也很相似,但它们是由 <#-- 和 -->来分隔的。注释会被FreeMarker直接忽略,更不会在输出内容中显示。注释可以放在FTL标签和插值中。

freemarker

标签:mis   日期   没有   mode   部分   html标签   anim   ima   相关   

原文地址:https://www.cnblogs.com/lifuwei/p/9265178.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!