此处的${username!} 如何username 是null 或者不存在使用!可以阻止异常抛出
此处的${item.birthday?string('yyyy-MM-dd')} 把生日 date 格式化输出
转义${var?string('yes','no')}
如何转义html内容 ${var?html} 把富文本当成文本输出
1.${date}此处的date如果是sql.date这样取值没问题如何使util.date会报错
因为freemarker是和数据库匹配的
util.date需要转义 ${date?string(' yyyy-MM-dd HH:mm:ss')}
2.对null处理 或者根本不存在的变量 都可以采取如何措施
${nullVar!'我是默认值'} 如果是null输出我是默认值
date存在进行转义不存在不转义
${date!?string(' yyyy-MM-dd HH:mm:ss')}
3.变量的定义赋值、运算
4.封装的对象进行取值 比如user对象
5.集合list的遍历
6.集合map的遍历 通过key 键 来获取值
7.if语法
7.1if语法
7.2if else语法
7.3 if elseif else语法 > 转义 大于号 >
7.4 if 判 null
<#if mylist??> 等价于<#if mylist?exists> 判断 mylist是否存在
<#list mylist as item>
${item}
<#list>
<#if>
7.5 if多条件 ||,&&,!
8.switch
9.string的基本操作指令
<#assign a = 'hello'/>
<#assign b = 'world'/>
10.自定义函数 对整数数组进行排序
11.list排序內建函数及其指令
11.1正序
输出结果
11.2反转
输出结果
11.3list的长度
11.4list 下标取值br/>![](https://s1.51cto.com/images/blog/201712/16/76e195aaabd9600e6faed7b9eaba7afb.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
12.自定义指令
自定义指令使用@
12.1页面
输出结果
12.2配置文件进行配置 在freemarker的config中配置 其中roleDirectiveModel是bean 次数是指向的注解 加载进来的
12.3control层
13.內建函数
13.1 split
13.2字符串转日期
13.3数字类型內建函数
13.4 list內建函数
13.5其他內建函数
eval 变成整数
14.macro、function
14.1macro
无参数
有参数
有默认值的
多个传参数的
14.2nested
输出结果
代码
14.3函数
输出结果
代码
转载于:https://blog.51cto.com/12941821/2051252