最近开发回显时,用到freemarker,总结如下:
p??: 针对对象, 判断p是否存在,
psgInfos?size: 调用psgInfo的内置方法
rushBag.bagDesStationCode?has_content:针对属性,判断是否问null和为空
调用类中的方法
自定义方法<#function echoBagItem currentItem > ,echoBagItem是函数名字,currentItem 是参数
调用该方法:"${echoBagItem(currentItem)}"
intsum?c:?c相当tostring()方法,把int类型转成String
| 作用 | 实例 | |
|
判空
|
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">
|
|
浙公网安备 33010602011771号