文档章节

FreeMarker学习(二):数值和类型

yuhuan121
 yuhuan121
发布于 2017/09/06 16:19
字数 488
阅读 3
收藏 0

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>

© 著作权归作者所有

共有 人打赏支持
yuhuan121
粉丝 0
博文 36
码字总数 38704
作品 0
佛山
程序员
FreeMarker模板文件的组成及基本语法详解(一)

FreeMarker模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1. 文本:直接输出的部分 2. 注释:<#-- ... -->格式部分,不会输出 3. 插值:即${...}或#{...}格式的部分...

oecp
2011/05/26
0
0
FreeMarker在eclipse中的入门例子

刚接触FreeMarker时,只是简单的了解FreeMarker的一些概念及工作原理,至于如何使用FreeMarker还不是非常清楚。随着学习的深入,才渐渐对FreeMarker有了更深入的理解。本文将从基础应用着手,...

oecp
2011/05/16
0
0
freemarker语法介绍及其入门

FreeMarker标签使用 一、FreeMarker模板文件主要有4个部分组成 1、文本,直接输出的部分 2、注释,即<#--...-->格式不会输出 3、插值(Interpolation):即${..}或者#{..}格式的部分,将使用数...

wersdffg
2014/09/30
0
0
细数FreeMarker的优缺点

一、 FreeMarker简介 FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。 所谓模板,就是一份已经写好了基本内容,有着固定格式的文档,其中空出或者用占位符标识的内容...

oecp
2011/04/22
0
3
freemaker开发学习《一》

 FreeMarker是一个非常优秀的模板引擎,这个模板引擎可用于任何场景,FreeMarker负责将数据模型中的数据合并到模板中,从而生成标准输出.FreeMarker可以提供昜好的团队协作,对于界面开发人...

xiaml
2014/04/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

使用esp8266制作wifi干扰器

概述 这个东西,说真的对现在的无线网络环境影响其实不是很大了,首先它只能玩2.4ghz的无线,其次这个模块不是特别的可靠,运行的时候温度会很高,买来玩玩还是可以的 什么是esp8266 ESP8266...

bboysoulcn
12分钟前
0
0
以太坊总结

一、概念说明 1.以太坊(Ethereum blockchain)由V神(Vitalik Buterin)发明,是一个交易记录的永久数据库,它以一个“无信任”的交易系统来运行,不需要任何第三方信任机构即可进行点对点的...

盼望明天
37分钟前
1
0
Java并发工具类——AtomicInteger

基本类型int的递增等操作并不是线程安全的,加上synchronized又会影响性能,因此在并发情况下我们应该使用AtomicInteger,下面通过一个例子验证一哈。 public class TestAtomicInteger {...

东都大狼狗
39分钟前
1
0
基于CentOS7.2系统对RabbitMQ单机版安装过程

准备虚拟机系统 我的系统如下 系统版本7.2 安装perl yum install perl 安装wget工具 yum install -y wget 安装相关依赖工具 yum install ncurses ncurses-base ncurses-devel ncurses-libs ...

凌晨一点
42分钟前
1
0
Maven常用命令

Maven常用命令 说到命令,则不得不提一下环境变量,在之前的博文中简单提了一下环境变量的配置,这里具体说一下。说完环境变量的配置,然后就是Maven的常用命令,这里说的是常用的几个命令,...

星汉
59分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部