博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FreeMarker学习(二):数值和类型
阅读量:6090 次
发布时间:2019-06-20

本文共 989 字,大约阅读时间需要 3 分钟。

hot3.png

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>

转载于:https://my.oschina.net/joe12321/blog/1530093

你可能感兴趣的文章
iOS应用审核的通关秘籍
查看>>
JSP取得绝对路径
查看>>
JS全选功能代码优化
查看>>
BrnShop开源网上商城第三讲:插件的工作机制
查看>>
全站仪 经纬仪 水准仪 操作演示视频教程 建筑工程测量放线7日通
查看>>
正则表达式中的特殊字符
查看>>
POJ 3104 Drying 二分
查看>>
PS流格式
查看>>
javabean总结
查看>>
删除指定表的所有索引,包括主键索引,唯一索引和普通索引 ,适用于sql server 2005 ....
查看>>
在方法内部获取调用自己方法的“名称”
查看>>
调试json
查看>>
C - Surprising Strings
查看>>
hibernate里的generator中class =value介绍
查看>>
activity-alias的使用
查看>>
免费的天气预报API--谷歌,雅虎,中央气象台
查看>>
第36周日
查看>>
c# 播放器 支持所有格式
查看>>
SQL Server 无法打开物理文件的 2 种解决办法
查看>>
对MBProgressHUD进行二次封装并精简使用
查看>>