FreeMaker 判断 null,空字符串,空列表数组

本文介绍怎样在 Freemarker 中判断 null,判断空字符串,判断空数组或列表。

判断对象是否为空(null)

在 Freemarker 中,如果使用的对象为 null,freemarker 模板解析就会报错。此时可以使用两个问号(??)判断对象是否为空,例如:

<ul>
    <!-- 判断 pageUrl 是否为空,如果不为空,则创建 <li> 标签 -->
    <#if pageUrl??>
    <li>
        <a href="${pageUrl}">测试页面</a>
    </li>
    </#if>
</ul>

判断 List 是否为空

判断 List 是否为空,即 List 中是否存在元素,可以使用 ?size 运算符,例如:

<#if orgList?? && (orgList?size > 0) > 
    <ul>
        <#for orgList as org>
            <li>${org.name?default("-")}</li>
        </#for>
    </ul>
</#if>

上面代码中,先判断 orgList 是否为 null,然后判断 orgList 是否有元素,如果有,则利用 for 循环渲染列表(数组判断方式类似)。

判断 Map 是否为空

用 freemarker 取出 map 值后,判断该值是否等于某一字符串,可以使用内建函数 ?string 来进行判断。例如:

<#if Data.get(key)?exists>
    <#if Data.get(key)?string !="null">${Data.get(key)}</#if>
</#if>

上述代码中,先判断 key 是否存在,如果存在,继续判断 key 取值不等于 null 字符串,则显示该值。

空字符串判断

freemarker 中判断字符串为空,直接使用 != 运算符即可,例如:

<#if uploadUrl??  && uploadUrl != "">
    <a href="${updateUrl}">更新数据</a>
</#if>
沉浸于现实的忙碌之中,没有时间和精力思念过去,成功也就不会太远了。——雷音
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号