FreeMarker标签的学习

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

你可能感兴趣的:(freemarker)