ftl语法

ftl对空值敏感,如果为空则抛出异常。

1.${} 取值内容摘要:${content.summary} .新版本可用

2. <#  >  定义(ftl标签). 新版本可用[#  ]

 <#assign lastDate="${content.lastHitDate}"> //声明变量,当${content.lastHitDate}不存在时抛出异常

 <# if>指令

 <#if user=='dayang'> he is dayang </#if> //user可以是模型里的数据:${user},也可以是声明变量

    <#if product.price!=0>price is not 0</#if>

 if .....else

     <#if p[0].price<p[1].price> 小于市场价

  <#else>大于市场价

 </#if>

<# list>指令

 <#list root.subList[0].productList as product>

      <#if product_index>=5>

          <li><a href="${ctx}/procuct/${product.sid}.html"> ${product.productName?if_exists} </a></li>

          <#if product_index>11> <#break></#if> //跳出循环

      </#if>

 </#list>

 

<#list topContents as x>
     <#if x_index==0>
           <#assigncontent="${x.content?replace(' ','')}">//声明一个变量并赋值
           <#assign content="${x.content?replace('  ','')}">
           <#assign content="${content?replace('&nbsp;','')}">
           <#assign content="${content?replace('<.*?>','','r')}">
           <h1><a href="#">${x.subTitle}</a></h1>
           <h2><a href="#">&nbsp;&nbsp;&nbsp;&nbsp;
          <#if (content?length > 50) >
                 ${content?substring(0,50)}...
          <#else>
                 ${content}
          </#if>
         </a>[<a href="#">查看全文</a>]
        </h2>     
       <#else>
           <#if x_index==1><ul></#if>
               <li><a href="#">${x.subTitle}</a></li>
           <#if x_index==topContents?size-1></ul></#if>
        </#if>
    </#list>   

3.注释

<#-- 我是注释-->

4.<@ >宏,自定义标签,新版本可用[@ ]

二。处理不存在的变量。

以前:?exists ,?if_exists ,?default

    <#if (root.subList?exists)&& (root.subList?size>0)>

      ${product?if_exixts.originalPrice?if_exists}

现在:!" " ,??

${content.lastHitDate!"为空时显示的值"}//lastDate为空时给content.lastHitDate赋默认值“为空时显示的值”,并显示出来。

<#if content.lastHitDate??>不为空<#else>我为空1</#if>//lastDate为空时显示“我为空1”

另一种可行方法:配置文件

 

三.内置函数。

?length  取长度

?size 序列中的元素个数  //<#if (channelContent?size>0) ><li>栏目文章列表为空</li> </#if>

?substring 取子字符串  //${summary?substring(0,50)} //从索引0开始,长度为50

?replace 字符串替换

?trim 去掉字符串首尾空格

?cap_first :字符串的第一个字母变大写

?lower_case :字符串的小写形式

?upper_case:字符串的大写形式

?html :html转义字符

?int 数字的整数部分

例子:

 ${userName?[0,10]}

   ${appHtml?replace('<@person.component/>' ,"ak47')}

           <#assign content="${x.content?replace('  ','')}">
           <#assign content="${content?replace('&nbsp;','')}">
           <#assign content="${content?replace('<.*?>','','r')}">

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值