最近开发回显时,用到freemarker,总结如下:
 
p??: 针对对象, 判断p是否存在,
psgInfos?size:  调用psgInfo的内置方法
rushBag.bagDesStationCode?has_content:针对属性,判断是否问null和为空
 
调用类中的方法 
 
自定义方法<#function echoBagItem currentItem > ,echoBagItem是函数名字,currentItem 是参数
 
调用该方法:"${echoBagItem(currentItem)}"
 
intsum?c:?c相当tostring()方法,把int类型转成String
 
<#assign msgContext = “”>:定义变量,要注意变量的作用域
 
  作用 实例
判空
1,代码:pr??
作用:针对对象或者List,或者MAP,判   断是否存在
,2,代码:msgContext?has_content
作用:正对字符串或者对象的属性,判断是否为空
CategoryMap??

person.name??
获取长度
1,获取list长度:使用对象的内置方法
  代码:psgInfos?size
2,获取字符串长度
 代码:ckiPsgCount?length<3
判断长度:(ckiPsgCount?length<3)
字符串处理
1,字符串左填充
"${str}"?left_pad(4,"0")
2,截取字符串
<#assign str = str?substring(0,msgRowStr?length-1)>
3,int类型转成string类型
psgCount?c
psgCount?tostring()
4,定义字符串和int类型变量
<#assign str ="">:定义字符串变量
<#assign str =0>:定义int变量
5,判断字符串长度大于0
<#if psmPassenger?length gt 1>
<#if (ckiPsgCount?length<3)>
6,判断字符串是否含每个字符
 <#if str?contains("/")>
7,获某个字符在字符串第一次出现的位置
<#assign index= str?index_of("/")>
8,去除字符串的前后空格
"${strs}"?trim
9,填充空格
""?right_pad(2)
1,str="aa",左填充之后:“00aa”,如果没有填0,这补充空格
2,psgCount是int类型
list处理
1,遍历list
<#list psgList as psg>
2,获取list中第一个元素
<#if psg_index == 0>
1,psg:是list中的一个元素或者对象
2,psg_index:list的索引
MAP处理
1,遍历Map
<#list Map?keys as  aKey>
 
1,aKey:获取的MAP的key值,获取值可以"${aKey}
<#assign mapkey = "${aKey}> 
2,获取MAP的value:
<#assign mapValue = "Map[aKey]> 
自定义函数
<#function echoBagItem str1 int  str2  >
     <#return str2>
</#function> 
1,调用:对于有返回值的函数数
<#assign str= echoBagItem (str1 3 aa)>
2,调用:对于没有放回值的函数
"${echoBagItem(str1 3 aa)}"
 
3,调用java代码中的函数,
<#assign sdTime = "${fh,subLine(str)}">
1,该方法有三个参数,每个参数用空格隔开
 
3,需要在定义该方法所在的类,
调用ftl问题
<#assign flihtElement="">
<#include "/flihtElement.ftl">
 
posted on 2016-06-01 10:48  Felix2016  阅读(580)  评论(0)    收藏  举报