Freemaker FTL指令常用标签及语法

问题:在ftl页面截取字符串

${row?substring(23,44)}

问题:在页面进行if语句的判断

<#if attachmentUrlList??>
  <#list attachmentUrlList as row>
    <a class="attachment_download" id="attachmentId" href="${base + row}" data-evt="trash" data-toggle="tooltip" title="附件下载"><i class="icon icon-note"></i>下载${row?substring(23,44)}</a>
  </#list>
</#if>

事实证明:上面的红色代码是有问题的,判断list是否为空,应该用exist

<#if attachmentUrlList?exists>
<#list attachmentUrlList as row>
<a class="attachment_download" id="attachmentId" href="${base + row}" data-evt="trash" data-toggle="tooltip" title="附件下载"><i class="icon icon-note"></i>下载</a>
</#list>
<#else>
</#if>

 

 

1)判断Map数据是否为空

           <#ifmaster??&&(master?size>0)>

           <#list master?keys askey>

<span>${key}:${master[key]!}</span>

   </#list>

  </#if>

 

2)判断List数据是否为空

<#if tables?exists>

<#listtables as table>

${table}

</#list>

</#if>

3)解决为空的问题:

A加个感叹号可以解决为空的问题

 

${(emp.group)!}

 

B加上括号,感叹号解决对象导航为空的问题

 

${(emp.group.name)!"group为空或者name为空"} 

 

C感叹号还可以解决未定义为空的问题-->

${(a.b)!("a.b未定义")}

             

                 <#--(a.b)??判断a.b是否为空-->

<#if (a.b)??>

   不为空

    <#else>

   为空

</#if>

<br/>

${(a.b)???string}

 

posted @ 2018-02-27 11:32  Bob_C  阅读(1679)  评论(0编辑  收藏  举报