FreeMarker学习(二):数值和类型
FreeMarker学习(二):数值和类型
yuhuan121 发表于1个月前
FreeMarker学习(二):数值和类型
  • 发表于 1个月前
  • 阅读 1
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云实验室 1小时搭建人工智能应用,让技术更容易入门 免费体验 >>>   

1、数值

数值不一定是数字类型的值,也有可能是字符串、日期、布尔值、哈希表等;

(root)
 |
 +- user = "Big Joe"
 |
 +- today = Jul 6, 2007
 |
 +- todayHoliday = false
 |
 +- lotteryNumbers
 |   |
 |   +- (1st) = 20
 |   |
 |   +- (2st) = 14
 |   |
 |   +- (3rd) = 42
 |   |
 |   +- (4th) = 8
 |   |
 |   +- (5th) = 15
 |
 +- cargo
     |
     +- name = "coal"
     |
     +- weight = 40

比如:变量user的值是字符串,today的值是日期,holiday的值是布尔值,lotteryNumbers的值是一个序列,是多值类型,假如把它看做容器的话,就是一个单值类型,cargo是一个hash表。

2、类型

数值的类型决定了数值可使用的最大限度

它有4种:

2.1、标量

标量是最基本的数值类型,有:

  • 字符串:表示简单的文本
  • 数值
  • 布尔值:逻辑上的对与错
  • 日期:日期变量可以存储和日期、时间相关的数据
    • 日期:精确到天,没有时间。eg June 1,2017
    • 时间:精确到毫秒。eg 10:10:10 AM
    • 日期-时间:包含上面两者 eg June 1,2017 10:10:10 AM

2.2、容器

容器里包含的变量称为子变量,有以下几种类型:

  • 哈希表:每个子变量都可以通过唯一一个名称来查找,子变量是没有顺序的;
  • 序列:每个子变量通过索引来标识,子变量是有顺序的;
  • 集合:是有限制的序列,不能获取集合的大小,也不能通过索引来获取集合中的子变量,但是可以用list指令来遍历;

数据模型本身就是哈希表

2.3、子程序

2.3.1、方法和函数

当一个值是方法或函数的时候,可以根据传递的参数来计算其他值,比如

1和3的平均数是:${avg(1, 3)}

输出:

1和3的平均数是:2

2.3.2、用户自定义指令

用户自定义指令是freemarker的标签,是一种子程序,一种可以服用的模板代码段;

eg

<@greet></@greet>
共有 人打赏支持
粉丝 0
博文 32
码字总数 35950
×
yuhuan121
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: