freemarker(FTL)常见语法大全

FreeMarker的插值有如下两种类型:
1,通用插值{expr};  
2,数字格式化插值:#{expr}或#{expr;format}
{book.name?if_exists } //用于判断如果存在,就输出这个值
book.name?default(xxx)//xxx {book.name!”xxx”}//默认值xxx
book.date?string(yyyyMMdd)// {book?string.number} 20 //三种不同的数字格式
{book?string.currency}--<#--20.00 –>
{book?string.percent}—<#– 20% –>   
<#assign foo=ture /> //声明变量,插入布尔值进行显示
{foo?string(“yes”,”no”)} <#– yes –>
<等大小比较符号使用需要注意:(xml的原因),可以用于比较数字和日期
使用lt、lte、gt和gte来替代<、<=、>和>= 也可以使用括号<#if (x>y)>
内置函数: 调用区别于属性的访问,使用?代替.
常见的一些内置函数
对于字符串
html-对字符串进行HTML编码
cap_first-使字符串第一个字母大写
lower_case-将字符串转换成小写
trim-去掉字符串前后的空白字符
对于Sequences(序列)
size-获得序列中元素的数目
对于数字
int-取得数字的整数部分(如-1.9?int的结果是-1)
对于集合,可以使用数组的方式,使用下标索引进行访问
逻辑判断:
if…………….
<#if condition>…
<#elseif condition2>…
<#elseif condition3>……
<#else>…
Boolean类型的空值判断
空值判断可以写成<#if book.name?? > //注意${}为变量的渲染显示,而<>为定义等操作符的定义
switch…………
<#switch value>
<#case refValue1>

<#break>
<#case refValue2>

<#break>

<#case refValueN>

<#break>
<#default>

{c.a;m0} 区别于${},这个例子是用于输出数字的格式化,保留小数的位数,详细如下

数字格式化插值可采用#{expr;format}形式来格式化数字,其中format可以是:
mX:小数部分最小X位
MX:小数部分最大X位
在定义字符串的时候,可以使用”或者”“,对特殊字符,需要使用\进行转义
如果存在大量特殊字符,可以使用 r {r"{foo}”}{r”C:\foo\bar”}
Map对象的key和value都是表达式,但是key必须是字符串
可以混合使用.和[“”]访问
book.author[“name”] //混合使用点语法和方括号语法
为了处理缺失变量,FreeMarker提供了两个运算符: 用于防止对象不存在而导致的异常
!:指定缺失变量的默认值
??:判断某个变量是否存在,返回boolean值
noparse指令指定FreeMarker不处理该指定里包含的内容,该指令的语法格式如下:
<#noparse>…

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值