org.springframework.boot
spring-boot-starter-freemarker
附:如果使用idea开发freemarker的话,idea是直接支持freemarker模板的,但是如果使用的是eclipse的话,是不支持的,就可以使用另外一个软件:HBuilder,打开后,点击文件-->打开目录-->浏览,选择目标项目后,在HBuilder编辑文件会在eclipse里面同步显示的
??是判断对象是否为空,例如:<#if object??>object对象不为空(即object存在)#if>
?后面要加关键字
①用?判断是否为空,和??类似,但要在?后面加上关键字
<#if object?exists>${object}#if>
②其他一些用法
${nowDate?time} (将当前时间以时间的格式显示,如:11:11:11)
${nowDate?date} (将当前时间以日期的格式显示,如:2018-8-3)
注:time、date的格式可以在freemarker.properties文件中配置
${boolean?string("yes","no")}
freemarker中输出时可以使用这种方式输出${xxx?string("true","flase")}当xxx为true时显示字符串true,否则为字符串false,当然true,false字符串也可以换成其他字符串,比如yes和no。
<#assign answer=42/>
${answer}
${answer?string} <#-- the same as ${answer} -->
${answer?string.number}
${answer?string.currency}
${answer?string.percent}
${answer}
输出结果是:
$42.00
$42.00
42
$42.00
4,200%
例如:${user!"123"},如果user是空值的,那么就把后面的"123"取出来,可以预防空值
#list是遍历的类型,userList是需要迭代的对象,user是取出的每一个对象放进了临时变量user里面
<#list userList as user >
${user.userId}
${user.userName}
${user.userAge}
#list>
遍历keys集合
#list 遍历集合类型,userMap是需要迭代的对象,userMap?Keys判断userMap是否为空,不为空返回keys(关键字)即键集合,key 临时存放的变量
<#list userMap?keys as key>
key:${key}----value:${userMap[${key}]}
#list>
遍历values集合
<#list userMap?values as value>
${value}
#list>
<#if target??>
xxxx
#if>
上面这段代码判断target??是否为null,如果不为null时才可以执行if里面的内容,为null时则不进到
<#if student.studentAge lt 12>
${student.studentName}是一个初中生
<#elseif student.studentAge lt 15>
${student.studentName}是一个高中生
<#elseif student.studentAge lt 18>
${student.studentName}是一个大学生
<#else>
${student.studentName}是一个大学生
#if>
注意:
gt: 测试一个数是否大于另一个数;大于,为真;否则,为假;
lt: 测试一个数是否小于另一个数;小于,为真;否则,为假;