FreeMarker常用函数

1.去除首尾空格

${' abc '?trim}
输出结果:abc

2.判断某个字符串是否由某个子串结尾,返回布尔值。

${'string'?ends_with('ing')?string} 
输出结果:true
注意:布尔值必须转换为字符串才能输出

3.字符串长度

${'string'?length}
输出结果:6

4.内容替换

${'strabg'?replace('ab','in')} 
输出结果:string

5.判断字符中是否包含某个子串,返回布尔值

${'string'?contains('ing')?string} 
输出结果:true
注意:布尔值必须转换为字符串才能输出

6.index_of(substring,start)在字符串中查找某个子串,返回找到子串的第一个字符的索引,如果没有找到子串,则返回-1。
Start参数用于指定从字符串的那个索引处开始搜索,start为数字值。
如果start大于字符串长度,则start取值等于字符串长度,如果start小于0, 则start取值为0。

${'string'?index_of('in') 
输出结果:3
${'string'?index_of('ab') 
输出结果:-1

7.首字母大写,全部小写,全部大写

首字母大写
${'abc'?cap_first}
输出结果:Abc

全部小写
${'AbC'?lower_case}
输出结果:abc

全部大写
${'abc'?upper_case}
输出结果:ABC

8.定义数组

方式1.
<#assign nums=["1","2","3"]/>
方式2.
<#assign nums=1..10/>

9.直接遍历

<#list nums[0..9] as num>
	${num}
</#list>

10.字符串截取

方式1:
${"大河向东流啊"[0..3]}
输出结果:大河向东

方式2
${"大河向东流啊"?substring(0,4)}
输出结果:大河向东

11.list排序:

升序 .sort_by() 
      <#list list?sort_by("字段") as x>
      </#list>
      
降序 .sort_by()?reverse 
     <#list list?sort_by("字段")?reverse as x>
     </#list>

12.list遍历中的下标序号:_index是list的一个属性

<#list list as a>
     ${a_index}
</#list>

13.取list中第i个元素的值

${list[i]}

14.数组中包含某个元素

<#assign arr = ['1', '2', '3']>
<#if arr?seq_contains('2')>
	包含
<#else>
	不包含
</#if>
输出结果:包含

15.跳出当前循环
<#break>标签可以跳出当前循环

<#assign names=["张三","李四","王五"]/>
<#list names as name>
    ${name}<#break>
</#list>
输出结果:张三

16.当两个循环对象中间要输出内容时
<#sep>可以实现list中两个对象之间添加内容

<#assign names=["张三","李四","王五"]/>
<#list names as name>
    ${name}<#sep></#list>
输出结果:张三、李四、王五

17.日期相关函数

(1)获取当前日期
${.now}
输出结果过如:2023-8-18 21:08:08

(2)格式化日期
${.now?string('yyyy-MM-dd HH:mm:ss')}
输出结果过如:2023-08-18 21:08:08

(3)日期转换成数字
${.now?long}
输出结果过如:1,692,364,374,544

(4)数字转时间
${1692364374544?number_to_datetime} / ${1692364374544?number_to_date}
输出:2023-8-18 21:12:54  /  2023-8-18
如果是字符串,则需要先转成数字${'1692364374544'?number?number_to_datetime}

(5)字符串日期格式转时间
${'2023-08-19 00:00:01'?datetime}  /  ${'2023-08-19'?date}

(6)日期加1天 (一天的毫秒数24*60*60*1000,可以加任意毫秒数)
${((.now?long+24*60*60*1000)?number_to_datetime)?string('yyyy-MM-dd')}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值