FreeMarker 模板引擎

1、freemarker 使用步骤如下(入门案例)

a、创建 FTL 文件,写 freemarker 代码,如下图

FreeMarker 模板引擎

b、创建 java 类与之关联,如下图

FreeMarker 模板引擎

2、基础语法

a、文本:直接输出的部分
b、注释:即<#–…-->格式不会输出
c、取值:即${…}部分,将使用数据模型中的部分替代输出
d、FTL指令:FreeMarker指令,和HTML标记类似,名字前加#予以区分,不会输出。
实例如下图:FreeMarker 模板引擎

3、常用指令

a、assign(赋值指令)

实例如下图
FreeMarker 模板引擎
效果图如下
FreeMarker 模板引擎

b、include(包含指令)

作用:将 a模板文件 放在 b模板文件中,a模板文件的界面显示内容也会嵌套在 b模板文件中。
实例如下图
FreeMarker 模板引擎

c、if elseif else(条件指令)

作用:和 java 的 if else if else 一样。
实例如下图
FreeMarker 模板引擎

d、list(迭代指令)

实例如下图
FreeMarker 模板引擎
效果如下图
FreeMarker 模板引擎

4、内建函数(x = 变量名)

a、获取集合大小:x?size

实例如下图
FreeMarker 模板引擎

b、将 json字符串 转换成 json对象:x?eval

实例如下图
FreeMarker 模板引擎

c、日期格式化:

${x?date} :yyyy-MM-dd(当前日期)
${x ? time}:HH:mm:ss(当前时间)
${x ? datetime}:yyyy-MM-dd HH:mm:ss(当前日期时间)
${x ? string(” yyyy年MM月dd日“)}:自定义格式
实例如下图
FreeMarker 模板引擎
效果如下图
FreeMarker 模板引擎

5、空值处理(两种方式:??与!)

a、freemarker 的 x值不能为空,否则调用时会报错,所以需要做空值处理。
b、x??:判断 x 是否存在,存在返 true,不存在返 false。

实例如下图
FreeMarker 模板引擎

c、x!’ content ':判断 x 是否存在,存在则使用 x值,不存在值则为 content。

实例如下图
FreeMarker 模板引擎

6、Freemarker 的运算符

a、算术运算符:+、 -、 *、/、%
b、逻辑运算符:

逻辑与:&&
逻辑或:||
逻辑非:!

c、比较运算符:

==:判断两个值是否相等
!=:判断两个值是否不等
> 或 gt:判断左边值是否大于右边值
>= 或 gte:判断左边值是否大于等于右边值
< 或 lt:判断左边值是否小于右边值
<= 或 lte:判断左边值是否小于等于右边值