刚刚入职几个月,在上海做了一个页面开发是.FTL的项目,简单的总结了一点最常用的FTL语法使用:
FTL语法使用:
注意:使用freemaker,要求所有标签必须闭合,否则会导致freemaker无法解析
1.判断对象是否存在,若成立说明存在 (注意elseif不加空格)
<#if quote.riskForce ??> </#if>
<#if quote.riskForce ??> <#else> </#if>
<#if quote.riskForce ??> <#elseif> <#else> </#if>
2.判断是否和某一个值相等(先判断是否存在,在判断相等,如果该指定的参数不存在还比较相等的话就会出错)
<#if componentId ?? && componentId==1></#if>
3.list循环(循环遍历list并给遍历的对象取别名attribute以方便后面对象调用),
if_exists在调用一个变量需要先判断是否为空不然为空时会出错,_index为取出行号索引从0开始,?size可以判断list大小
1.<#list quote.riskItems as item> ${item.kindCode?if_exists} ${item_index} </#list> {quote.riskItems ?size}
2. 例如车险项目中取报文返回的各项税率因子:
<#if returnDto.riskProfits??>
<#list returnDto.riskProfits as riskProfit>
<#if riskProfit.rate??>
<p>${riskProfit.profitName} : ${riskProfit.rate?string("#0.00")}%<p>
</#if>
</#list>
</#if>
4.变量与指定值相加减,需要先判断该变量是否为数字类型,?number 然后转换为数字类型再做相减运算(变量number与指定的2相减)
${blockWidth?number-2}
5.日期转换
时间格式化的方法代码
最好加上 判断下c是否存在
<#if quote.riskBusi.validateDate??>