FreeMarker使用

本文详细介绍了FreeMarker模板语言中的特殊字段、运算符优先级、字符串处理方法,包括字符串截取、格式化时间以及数值精度控制。还涉及到了列表的输出控制、集合连接运算及内置函数的使用,如html转义、大小写转换和数字处理等。
摘要由CSDN通过智能技术生成

特殊字段

原意Marker中转义
等于==
不等于!=
>gt
>=gte
<lt
<=lte
&&
||
双引号双引号
反斜杠\\
单引号\’
换行\n
回车\r
退格键\b
Tab键\t
\f:Form feed 
\l:<            
\g:>           
\a:&          
\{:{ 
\xCode: 直接通过 4 位的十六进制数来指定 Unicode 码 , 输出改 Unicode 对应的字符。 

运算符优先级

  • 推荐使用括号来决定运算优先级 .
    1>. 一元运算符 : !
    2>. 内建函数 : ?
    3>. 乘除法 : *,/,%
    4>. 加减法 : +,-
    5>. 比较 :< ,>,<=,>=(lt,lte,gt,gte)
    6>. 相等 : ==(=),!=
    7>. 逻辑与 : &&
    8>. 逻辑或 : ||
    9>. 数字范围 : …

字符串处理

${item.createTime?default("")[0..9]}  //字符串截取
${"Hello," + user + "!"}    // 输出结果为 :hello,gs! 

//~~~  时间格式判断
${now?string("yyyy-MM-dd HH:mm:ss zzzz")}  //输出:2003-04-08 21:24:44 Pacific Daylight Time 
${now?string("EEE,MMM d, ''yy")} // 输出:Tue,Apr 8,'03 
${now?string("EEEE,MMM dd,yyyy, hh:mm:ss a '('zzz')'")} // 输出:Tuesday,April 08,2003,09:24:44 PM (PDT) 
// 利用IF 转换
< #assign foo=true/> 
 ${foo?string("yes","no")}         // 输出结果 :yes 
 
 //去掉前后 空格
 ${xx?trim} 

数值精度控制

mX: 小数部分最小 X 位
MX: 小数部分最大 X 位
eg:

< #assign x=2.582/> 
< #assign y=4/> 
#{x; M2}           //2.58 
#{y; M2}           //4 
#{x; m1M2}         //2.58 
#{y; m1M2}         //4.0 
${data.日电量?c}   // ?c 代表数字取整


List输出个数控制

循环 0 至 7 之间的元素: <#list row.data[0..7] as item>

List Size 判断 : <#if row.data?size gte 8>

集合连接运算符:

//集合连接运算是将两个集合连接成一个新的集合 , 连接集合的运算符是 '+'. 
< #list [" 一 "," 二 "," 三 "] + [" 四 "," 五 "," 六 "] as x> 
    ${x} 
< /#list> 
// 输出结果如下 : 一二三四五六  

算术运算符

< #assign x=5> 
${(x/2)?>int}     //2 
${1.1?int}        //1 
${1.999?int}      //1 
${-1.1?int}       //-1 

内置函数

html: 字符串中所有的特殊 HTML 字符都需要用实体引用来代替(比如 < 代替 < ) cap_
first: 字符串的第一个字母变为大写形式
lower_case: 字符串的小写形式
upper_case: 字符串的大写形式
trim: 去掉字符串首尾的空格
size :序列中元素的个数 数字使用的内建函数:
int: 数字的整数部分(比如 -1.9?int 就是 -1 ) 9>.
length: 字符串的长度
string : 把其他格式的数据,转化为 string 类型

// test=”Tom & Jerry”
${test?html}                //输出为:  Tom & Jerry
${test?upper_case?html}     //输出为: TOM & JERRY 

//seasons = "winter", "spring", "summer", "autumn"
${seasons?size}             //输出 : 4
${seasons[1]?cap_first}     //输出 : Spring

${"horse"?cap_first}        //输出 :Horse 

在 ftl 中嵌入另一个 controller

<#assign c=JspTaglibs[ "http://java.sun.com/jsp/jstl/core" ] > 
<@c.import  url= "/product/hotlistByHttp.htm" /> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟●禅●酒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值