1、取列表
<#list lst as x>
${x.id} ${x.name}
</#list>
取列表的长度:
<#if tmlist?size== 0>暂无记录</#if>
2、取session值
<#if Session["flag"]?exists>
<#list Session.cart.items as item>
<tr>
<td>${item.test.id}</td>
<td></td>
<td>${item.test.price}</td>
<td>${item.amount}</td>
<td>${item.totalamount}</td>
<td>删除</td>
</tr>
</#list>
</#if>
注:可以用Session["sessionName"]取 也可以用${Session.sessionName}取
----------------------------------------------------
3、格式化金额
按千分位分隔,并保留两位小数:
${123456.789?string(",##0.00")}
输出:123,456.79 (这样的格式,0是转为0.00)
具体参照:
http://www.educity.cn/java/405246.html
----------------------------------------------------
后来发现,即使是用了上面这种方法格式化,比如后台传过来是12.12,在前台会显示成12.00,才知道在界面上,freemarkder取值进行计算的时候,会自动把小数点忽略掉,解决办法如下:
${var.amount?string.number }
官方文件如下:
<#setting number_format="currency">
<#assign x=42>
${x}
${x?string} <#-- the same as ${x} -->
${x?string.number}
${x?string.currency}
${x?string.percent}
Will now output:
$42.00
$42.00
42
$42.00
4,200%
4、if标签的使用:
<#if type.isparent == 0>
1
<#else>
2
</#if>
如果type.isparent为0的话,则显示1,否则显示2
注:如果是有>,< 这些比较符号,直接写是会报错的,要么用转义符,要么加上括号。如下:
1 用符号代替,> gt, >= gte ,< lt , <= lte
2 加括号 <#if(x>y)>
5、引用文件:include file
<#include "文件路径">
string转double
String var = "123.4";
<#if var?eval >=100>大于100哟<#else>小于100
</#if>
6、操作字符串
6.1、字符串截取:substring(start,end)从一个字符串中截取子串
${'str'?substring(1)}结果为tr
${'str'?substring(0,2)}结果为st