freemarker使用记录
- 输入数字类型的属性有逗号,如1,230
在使用FreeMarker进行数据展示的时候,如果数据为数字,则显示出来的数据是用科学计数法显示的。
如:1000显示为1,000。
解决本问题的方法只需要来原来的${id}改成${id?c}即可;
- 判断空值
<#if member?? >
<a href="xxx">退出 </a><br/>
<#else>
xxx
</#if>
??代表如果为空
引用的对象为空,那么表达式一定会报错,
<#if info?exists && info?has_content>改成这样即可。
info?has_content判断该变量是否不为null并且不为empty。
实际用?has_content就可以满足要求了。
- 带小数的值小数点后零丢失
Interpolation有两种类型:
- 通用Interpolation:${expr}
- 数字Interpolation:#{expr}或#{expr; format}
注意:Interpolation只能用于文本部分
- 通用Interpolation
插入字符串值:直接输出表达式结果
插入数字值:根据缺省格式(由#setting指令设置)将表达式结果转换成文本输出;可以使用内建函数string格式化单个Interpolation,下面是一个例子:
<#setting number_format="currency"/>
<#assign answer=42/>
${answer}
${answer?string} <#-- the same as ${answer} -->
${answer?string.number}
${answer?string.currency}
${answer?string.percent}
输出结果是:
$42.00 $42.00 42 $42.00 4,200%