FreeMarker 数据类型 基础语法

FreeMarker 数据类型
Freemarker 模板中的数据类型由如下⼏种:
布尔型:等价于 Java 的 Boolean 类型,不同的是不能直接输出,可转换为字符串输出
⽇期型:等价于 java 的 Date 类型,不同的是不能直接输出,需要转换成字符串再输出
数值型:等价于 java 中的 int,float,double 等数值类型
有三种显示形式:数值型(默认)、货币型、百分⽐型
字符型:等价于 java 中的字符串,有很多内置函数
sequence 类型:等价于 java 中的数组,list,set 等集合类型
hash 类型:等价于 java 中的 Map 类型
布尔类型

  1. 在Servlet中设置布尔类型的数据
// 布尔类型
request.setAttribute("flag", true);
  1. 获取数据
<#--
 数据类型:布尔类型
 在freemarker中布尔类型不能直接输出;如果输出要先转成字符串
 ⽅式⼀:?c
 ⽅式⼆:?string  ?string("true时的⽂本","false时的⽂本")
-->
${flag?c} <br>
${flag?string} <br>
${flag?string("yes","no")} <br>

⽇期类型

  1. 在Servlet中设置⽇期类型的数据
// ⽇期类型
request.setAttribute("createDate",new Date());
  1. 获取数据
<#--
 数据类型:⽇期类型
 在freemarker中⽇期类型不能直接输出;如果输出要先转成⽇期型或字符串
 1. 年⽉⽇ ?date
 2. 时分秒 ?time
 3. 年⽉⽇时分秒 ?datetime
 4. 指定格式 ?string("⾃定义格式")
 y:年 M:⽉ d:⽇
 -->
<#-- 输出⽇期格式 -->
${createDate?date} <br> 
<#-- 输出时间格式 -->
${createDate?time} <br> <#-- 输出⽇期时间格式 -->
${createDate?datetime} <br> 
<#-- 输出格式化⽇期格式 -->
${createDate?string("yyyy年MM⽉dd⽇ HH:mm:ss")} <br>
 

数值类型

  1. 在Servlet设置数值型的数据
// 数值类型
request.setAttribute("age",18); // 数值型
request.setAttribute("salary",10000); // 数值型
request.setAttribute("avg",0.545); // 浮点型
  1. 获取数据
<#--
 数据类型:数值类型
 在freemarker中数值类型可以直接输出;
 1. 转字符串
 普通字符串 ?c
 货币型字符串 ?string.currency
 百分⽐型字符串 ?string.percent
 2. 保留浮点型数值指定⼩数位(#表示⼀个⼩数位)
 ?string["0.##"]
-->
<#-- 直接输出数值型 -->
${age} <br>
${salary} <br> <#-- 将数值转换成字符串输出 -->
${salary?c} <br> <#-- 将数值转换成货币类型的字符串输出 -->
${salary?string.currency} <br> <#-- 将数值转换成百分⽐类型的字符串输出 -->
${avg?string.percent} <br> <#-- 将浮点型数值保留指定⼩数位输出 (##表示保留两位⼩数) -->
${avg?string["0.##"]} <br>

字符串类型
3. 在Servlet中设置字符串类型的数据

// 字符串类型
request.setAttribute("msg","Hello ");
request.setAttribute("msg2","freemarker");
  1. 获取数据
<#--
 数据类型:字符串类型
 在freemarker中字符串类型可以直接输出;
 1. 截取字符串(左闭右开) ?substring(start,end)
 2. ⾸字⺟⼩写输出 ?uncap_first
 3. ⾸字⺟⼤写输出 ?cap_first
 4. 字⺟转⼩写输出 ?lower_case
 5. 字⺟转⼤写输出 ?upper_case
 6. 获取字符串⻓度 ?length
 7. 是否以指定字符开头(boolean类型) ?starts_with("xx")?string
 8. 是否以指定字符结尾(boolean类型) ?ends_with("xx")?string
 9. 获取指定字符的索引 ?index_of("xx")
 10. 去除字符串前后空格 ?trim
 11. 替换指定字符串 ?replace("xx","xx")
-->
<#-- 直接输出 -->
${msg} - ${msg2} <br>
${msg?string} - ${msg2?string} <br> <#-- 1. 截取字符串(左闭右开) ?substring(start,end) -->
${msg2?substring(1,4)} <br> <#-- 2. ⾸字⺟⼩写输出 ?uncap_first -->
${msg?uncap_first} <br> <#-- 3. ⾸字⺟⼤写输出 ?cap_first -->
${msg2?cap_first} <br> <#-- 4. 字⺟转⼩写输出 ?lower_case -->
${msg?lower_case} <br> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值