Freemarker函数

Freemarker定义了很多内置函数,用户也可以自定义函数,函数的调用使用?

字符串函数

substring:截取子字符串的函数,类似Java的String.substring字符串函数
$(“abcdef”?substring(n) } 截取字符串n位置开始到结尾,n大于等于0,小于等于字符串的长度
$(“abcdef”?substring(m,n) } 截取字符串m位置开始到n位置,m,n大于等于0,小于等于字符串的长度

cap_first: 一行文本的首字母大写
${“hello world ,I am java programer”?cap_first }

uncap_first: 一行文本的首字母小写
${“Hello world ,I am java programer”?uncap_first }

capitalize:每个单词首字母小写改大写,大写改小写
${“hello world ,I am java programer”?capitalize}

ends_with:判断字符串使用以某字符串结尾
${“hello world ,I am java programer”?ends_with(“programer”)?c}

starts_with:判断字符串使用以某字符串开头
${“hello world ,I am java programer”?starts_with(“hello”)?c}

index_of:返回某字符串第一次出现的位置
${“hello world ,I am java programer”?index_of(“am”)}

last_index_of:返回某字符串最后一次出现的位置
${“hello world ,I am java programer”?last_index_of(“am”)}

length:返回字符串的长度
${“hello world ,I am java programer”?length}

left_pad:左侧补齐空格或指定的字符
${“hello world ,I am java programer”?left_pad(10)}
如果left_pad(n) n小于字符串的长度,返回全部字符串
如果left_pad(n) n大于字符串的长度,左侧补充空格或指定字符串

${“hello world ,I am java programer”?left_pad(60,"*")}

right_pad:右侧补齐空格或指定的字符
${“hello world ,I am java programer”?right_pad(100,"*")}
如果right_pad(n) n小于字符串的长度,返回全部字符串
如果right_pad(n) n大于字符串的长度,右侧补充空格或指定字符串

contains:判断字符串中是否存在某字符串
${“hello world ,I am java programer”?contains(“am”)?c}

replace:替换字符串
${“hello world ,I am java programer”?replace(“I”,“you”)}

split:分隔字符串为数组

在这里插入图片描述
word_list:以任意多个空格分隔单词
在这里插入图片描述

数字函数

c : 将数字或boolean 转化为字符串

${1234?c} ${true?c}

string : 将数字转化为字符串

${123?string}

round: 四舍五入

${123.6?round}
${35.3?round}

floor:向下取整
${123.6?floor}
${35.3?floor}

ceiling:向上取整
${123.6?ceiling}
${35.3?ceiling}

日期函数

string(“yyyy-MM-dd”) :格式化日期
${.now?string(“yyyy-MM-dd HH:mm:ss”)}

date:获取当前日期
${.now?date}

time:获取当前时间
${.now?time}

datetime:获取当前日期时间
${.now?datetime}

布尔函数

转化boolean类型为字符串

${true?c}

${false?string(“no”,“yes”)}

序列函数

first:返回序列中第一个元素
last:返回序列中最后一个元素
seq_contains(n):判断序列中是否存在元素n
seq_index_of(n):返回n在序列中的位置
seq_last_index_of(n):返回n在序列中最后一个位置

在这里插入图片描述
reverse:返回序列的反序集合
sort:序列中元素排序
在这里插入图片描述
在这里插入图片描述
sort_by:用于hash表的排序,可以指明根据那个字段排序
在这里插入图片描述
chunk:把序列分成几个序列,可以指定填充元素
在这里插入图片描述

Hash函数

keys:获取Map的中键集合
在这里插入图片描述

自定义函数

在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FreeMarker 是一种模板语言,用于生成各种文本格式,如 HTML、XML、JSON 等。除了提供基本的语法和指令外,FreeMarker 还提供了许多内建函数,用于处理字符串、日期、数字等数据类型。下面是 FreeMarker 内建函数的参考。 ## 字符串函数 ### length 语法:`${s?length}` 返回字符串 s 的长度。 ### trim 语法:`${s?trim}` 去除字符串 s 开头和结尾的空格。 ### upper_case 语法:`${s?upper_case}` 将字符串 s 转换为大写字母。 ### lower_case 语法:`${s?lower_case}` 将字符串 s 转换为小写字母。 ### capitalize 语法:`${s?capitalize}` 将字符串 s 的首字母转换为大写字母。 ### replace 语法:`${s?replace("old","new")}` 用字符串 new 替换字符串 s 中所有的 old。 ## 数字函数 ### round 语法:`${n?round}` 返回数字 n 的四舍五入值。 ### floor 语法:`${n?floor}` 返回小于等于数字 n 的最大整数。 ### ceiling 语法:`${n?ceiling}` 返回大于等于数字 n 的最小整数。 ## 日期函数 ### date 语法:`${date?date}` 返回日期 date 的日期部分,格式为 yyyy-MM-dd。 ### time 语法:`${date?time}` 返回日期 date 的时间部分,格式为 HH:mm:ss。 ### iso_utc 语法:`${date?iso_utc}` 返回日期 date 的 ISO 8601 格式的字符串,带有时区偏移量。 ## 其他函数 ### exists 语法:`${v?exists}` 如果变量 v 存在,则返回 true,否则返回 false。 ### default 语法:`${v?default("default")}` 如果变量 v 存在,则返回其值,否则返回默认值 "default"。 ### size 语法:`${list?size}` 返回列表 list 的长度。 ### sort 语法:`${list?sort}` 对列表 list 进行排序,返回排序后的列表。 以上是 FreeMarker 内建函数的参考,可以根据实际需求选择使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值