freemarker exists if_exists及其简化写法

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


你可能感兴趣的:(exists,freemaker,if_exists)