freemaker之模板篇
模板+数据=输出(传说中的静态化)
其实模板和html页面差不多 只不过增加了一些自己的模板标签.大部分都很简单,针对工作中出现的问题总结一下几点:
1.空值处理
静态化数据如果有null,和模板整合的时候会报错.
解决方法:
情况1:list为空 (验证有效)
<#if list ?exists && list.size != 0 >
<ul>
<#list list as listone>
<li>${listone.name}</li>
</#list>
</ul>
<#else>
暂无列表
</#if>
情况2:内容为空 (验证有效)
${listone.name?default("defaultname")}
2.<#if list ?exists>和${listone?if_exists} 及其简化写法
<#if list ?exists> 用作逻辑判断,返回的是true或者false
${listone?if_exists} 用于输出的时候 如果存在输出,不存在就输出孔字符串
list ?exists 简化成 list??
listone?if_exists 简化成 listone!
listone.name?default("dn") 简化成 listone!dn
模板+数据=输出(传说中的静态化)
其实模板和html页面差不多 只不过增加了一些自己的模板标签.大部分都很简单,针对工作中出现的问题总结一下几点:
1.空值处理
静态化数据如果有null,和模板整合的时候会报错.
解决方法:
情况1:list为空 (验证有效)
<#if list ?exists && list.size != 0 >
<ul>
<#list list as listone>
<li>${listone.name}</li>
</#list>
</ul>
<#else>
暂无列表
</#if>
情况2:内容为空 (验证有效)
${listone.name?default("defaultname")}
2.<#if list ?exists>和${listone?if_exists} 及其简化写法
<#if list ?exists> 用作逻辑判断,返回的是true或者false
${listone?if_exists} 用于输出的时候 如果存在输出,不存在就输出孔字符串
list ?exists 简化成 list??
listone?if_exists 简化成 listone!
listone.name?default("dn") 简化成 listone!dn