FreeMarker 模板引擎
1、freemarker 使用步骤如下(入门案例)
a、创建 FTL 文件,写 freemarker 代码,如下图
b、创建 java 类与之关联,如下图
2、基础语法
a、文本:直接输出的部分
b、注释:即<#–…-->格式不会输出
c、取值:即${…}部分,将使用数据模型中的部分替代输出
d、FTL指令:FreeMarker指令,和HTML标记类似,名字前加#予以区分,不会输出。
实例如下图:
3、常用指令
a、assign(赋值指令)
实例如下图
效果图如下
b、include(包含指令)
作用:将 a模板文件 放在 b模板文件中,a模板文件的界面显示内容也会嵌套在 b模板文件中。
实例如下图
c、if elseif else(条件指令)
作用:和 java 的 if else if else 一样。
实例如下图
d、list(迭代指令)
实例如下图
效果如下图
4、内建函数(x = 变量名)
a、获取集合大小:x?size
实例如下图
b、将 json字符串 转换成 json对象:x?eval
实例如下图
c、日期格式化:
${x?date} :yyyy-MM-dd(当前日期)
${x ? time}:HH:mm:ss(当前时间)
${x ? datetime}:yyyy-MM-dd HH:mm:ss(当前日期时间)
${x ? string(” yyyy年MM月dd日“)}:自定义格式
实例如下图
效果如下图
5、空值处理(两种方式:??与!)
a、freemarker 的 x值不能为空,否则调用时会报错,所以需要做空值处理。
b、x??:判断 x 是否存在,存在返 true,不存在返 false。
实例如下图
c、x!’ content ':判断 x 是否存在,存在则使用 x值,不存在值则为 content。
实例如下图
6、Freemarker 的运算符
a、算术运算符:+、 -、 *、/、%
b、逻辑运算符:
逻辑与:&&
逻辑或:||
逻辑非:!
c、比较运算符:
==:判断两个值是否相等
!=:判断两个值是否不等
> 或 gt:判断左边值是否大于右边值
>= 或 gte:判断左边值是否大于等于右边值
< 或 lt:判断左边值是否小于右边值
<= 或 lte:判断左边值是否小于等于右边值