Freemarker 常用内置函数和用法

 

 

一、   Sequence的内置函数

 

1.      sequence?first 返回sequence的第一个值。

2.      sequence?last  返回sequence的最后一个值。

3.      sequence?reverse 将sequence的现有顺序反转,即倒序排序

4.      sequence?size    返回sequence的大小

5.      sequence?sort    将sequence中的对象转化为字符串后顺序排序

6.      sequence?sort_by(value) 按sequence中对象的属性value进行排序

 

注意:Sequence不能为null。

 

二、           Hash的内置函数

 

1.                      hash?keys 返回hash里的所有key,返回结果为sequence

2.                      hash?values 返回hash里的所有value,返回结果为sequence

例如:

<#assign user={“name”:“hailang”, “sex”:“man”}>

            <#assign keys=user?keys>

            <#list keys as key>

                ${key}=${user[key]}

            </#list>

 

三、           操作字符串函数

1.                      substring(start,end)从一个字符串中截取子串

start:截取子串开始的索引,start必须大于等于0,小于等于end

end: 截取子串的长度,end必须大于等于0,小于等于字符串长度,如果省略该参数,默认为字符串长度。

例子:

${‘str’?substring(0)} 结果为str

${‘str’?substring(1)} 结果为tr

${‘str’?substring(2)} 结果为r

${‘str’?substring(3)} 结果为

 

${‘str’?substring(0,0)} 结果为

${‘str’?substring(0,1)} 结果为s

${‘str’?substring(0,2)} 结果为st

${‘str’?substring(0,3)} 结果为str

 

 

2.                      cap_first 将字符串中的第一个单词的首字母变为大写。

${‘str’?cap_first} 结果为Str

 

3.                      uncap_first将字符串中的第一个单词的首字母变为小写。

${‘Str’?cap_first} 结果为str

 

4.                      capitalize将字符串中的所有单词的首字母变为大写

${‘str’? capitalize} 结果为STR

 

5.                      date,time,datetime将字符串转换为日期

例如:

<#assign date1=”2009-10-12”?date(“yyyy-MM-dd”)>

<#assign date2=”9:28:20”?time(“HH:mm:ss”)>

<#assign date3=” 2009-10-12 9:28:20”?time(“HH:mm:ss”)>

 

${date1} 结果为2009-10-12

${date2} 结果为9:28:20

${date3} 结果为2009-10-12 9:28:20

 

注意:如果指定的字符串格式不正确将引发错误。

 

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

${“string ”?ends_with(“ing”)?string } 返回结果为true

注意:布尔值必须转换为字符串才能输出

 

7.                      html 用于将字符串中的<、>、&和“替换为对应得&lt;&gt;&quot:&amp

 

8.                      index_of(substring,start)在字符串中查找某个子串,返回找到子串的第一个字符的索引,如果没有找到子串,则返回-1。

  Start参数用于指定从字符串的那个索引处开始搜索,start为数字值。

  如果start大于字符串长度,则start取值等于字符串长度,如果start小于0, 则start取值为0。

  ${“ string ”?index_of(“in”) 结果为3

${“ string ”?index_of(“ab”) 结果为-1

 

9.                      length返回字符串的长度 ${“ string ”?length} 结果为6

 

10.                   lower_case将字符串转为小写

${“ STRING ”?lower_case} à 结果为 string

 

11.                   upper_case将字符串转为大写

${“ string ”?upper_case} à 结果为 STRING

 

12.                   contains 判断字符中是否包含某个子串。返回布尔值

  ${“ string ”?contains(“ing”)? string } 结果为true

    注意:布尔值必须转换为字符串才能输出

 

13.                   number将字符串转换为数字

${“111.11”?number} 结果为111.11

 

14.                   replace用于将字符串中的一部分从左到右替换为另外的字符串。

${“strabg”?replace(“ab”,”in”)} 结果为 string

 

15.                    split使用指定的分隔符将一个字符串拆分为一组字符串

<#list “This|is|split”?split(“|”) as s>

    ${s}

</#list>

结果为:

This

is

split

 

16.                   trim 删除字符串首尾空格 ${“  String ”?trim} 结果为 String

 

 

四、           操作数字

1.                      c 用于将数字转换为字符串

${123?c} 结果为123

 

2.                      string 用于将数字转换为字符串

Freemarker 中预订义了三种数字格式:number,currency(货币)和percent(百分比)其中number为默认的数字格式转换

例如: 

<#assign tempNum=20>

${tempNum}    

${tempNum? string .number}或${tempNum? string (“number”)} 结果为20

${tempNum? string .currency}或${tempNum? string (“currency”)} 结果为¥20.00

${tempNum? string . percent}或${tempNum? string (“percent”)} 结果为2,000%

 

五、     操作布尔值

 

string 用于将布尔值转换为字符串输出

true转为“true”,false转换为“false”

 

foo?string (“yes”,”no”)如果布尔值是true,那么返回“yes”,否则返回no

 

 

手把手配置:用Synopsys VDK为英飞凌TC4x系列MCU做虚拟原型开发 本文详细介绍了如何使用Synopsys VDK为英飞凌TC4x系列MCU进行虚拟原型开发,涵盖开发环境搭建、关键外设虚拟化配置、AUTOSAR栈集成及虚拟调试与性能调优全流程。通过虚拟原型技术,开发者可提前6-12个月启动软件开发,显著提升汽车电子项目的开发效率。 阅读详情

相关推荐

Qt制作大数据可视化大屏展示电子看板

Qt制作大数据可视化大屏展示电子看板 解决当前最火的大数据可视化大屏展示,整个项目通过Qt开发,集成了QML/QChart/ECharts及自定义控件等模块,所有的可视化控件都可以集成到其中。可以随意增加和减少模块,各个模块可以随意拖拽,整体可以个性化布局。模块标题栏可自定义,包括标题文本信息、文本颜色、宽度/高度、背景颜色、按钮个数等功能,满足各个样式需求。 实例中主要展示了现成的一些仪表盘...

Qt自定义控件及应用开发 7707

freemarker常用内建函数介绍

检查Hash是否为空(即是否包含至少一个键值对))都需要在模板的数据模型中被定义和赋值。:检查字符串是否以特定子串开始或结束。:返回序列的第一个和最后一个元素。:返回Hash中的所有键和值。等:检查变量是否为特定类型。:检查字符串是否包含特定子串。请注意,上述示例中的变量(如。:对字符串进行HTML编码。:使字符串的第一个字母大写。:返回序列中元素的数量。:对数字进行四舍五入。:对数字进行向上取整。

wuhao2343的博客 666

加密视频如何破解 如何解除机器码绑定的视频

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 如何破解加密...

Q-980767270的博客 5万+

Freemarker的内置函数及用法

在我们应用Freemarker过程中,经常会操作例如字符串,数字,集合等,却不清楚Freemrker有没有类似于Java一样有相关的类及方法。在本文当中,我将向大家详细的介绍Freemarke的内置函数及用法,以便能帮助大家更熟练的应用Freemarker完成项目开发。 一、 Sequence的内置函数 1.     sequence?first 返回sequence的第一个值。 2.

hezhoujun的专栏 9748

芯片设计中的setup和hold检查:为什么你的电路会跑飞?

本文深入解析了芯片设计中Setup与Hold检查的核心原理,它们是确保电路可靠运行的“黄金窗口”。通过剖析触发器物理本质、时序路径公式及检查方法,解释了Setup违例(数据太慢)和Hold违例(数据太快)如何导致电路“跑飞”,并提供了从RTL优化到物理实现的实战修复策略与协同优化技巧。

weixin_29268267的博客 477

2021-03-08 使用SPDK部署NVMe over TCP

NVMe-oF Target入门指南 SPDK NVMe over Fabrics Target是一个用户空间应用程序,通过以太网,Infiniband或光纤通道等结构呈现块设备,SPDK目前支持RDMA和TCP传输。 本文将在已经编译好SPDK的基础上演示如何使用SPDK搭建NVMe over TCP,前提是您已经将一块NVMe硬盘挂载到linux系统中。 如果您想获取有关SPDK更详细的信息,请参考 官方文档。 演示过程的Host主机的ip地址是192.168.0.21,Target主机的ip地址是19

Pancras的博客 2843

JSTL

&lt;转&gt;JSTL截取字符串以及格式化时间 fn函数里面有很多好用的方法 &lt;%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %&gt; 下面是JSTL中自带的方法列表以及其描述 函数名                                    函数说明                ...

andychenandy123的博客 236

1、深入解析OTA/gm - C滤波器架构与设计

本文深入探讨了OTA/gm-C滤波器的架构与设计方法,涵盖了从基本构建模块到高阶滤波器实现的多种技术。重点分析了双积分器环路结构(如Tow-Thomas和KHN滤波器)的工作原理、性能特点及OTA非理想特性对滤波器的影响,并介绍了降低寄生效应、提升动态范围的方法。文章还讨论了基于LC梯形仿真、多环反馈和电流模式的gm-C滤波器设计,以及自动调谐技术在频率稳定性中的应用。最后总结了不同类型gm-C滤波器的优缺点及其适用场景,为高频集成连续时间滤波器的设计提供了全面的技术参考。

fanta的博客 185

SpringBoot+FreeMarker 学习(四)FreeMarker常用内建函数

介绍了一些FreeMarker常用的内建函数及语法规则。

dengdaijc的专栏 1046

C++软件异常分析概述

本文将详细讲述Windows系统中软件异常的分类以及常用的排查方法,给大家提供一个借鉴与参考。

dvlinker的技术专栏 4万+

定位教程7---旋转中心标定之方法二

手算相机相对机器人关系

Quintin 6230

Freemarker 教程(一)-模板开发手册

layout: post title: “Freemarker 教程(一)-模板开发手册” date: 2021-2-2 08:00:00 +0800 category: Java author: Java课代表 excerpt: 本文是Freemarker系列的第一篇,面向模板开发人员,主要介绍 FreeMarker 所使用的 FTL语法,了解 Freemarker 的基本概念 本文是Freemarker系列的第一篇,面向模板开发人员,主要介绍 FreeMarker 所使用的 FTL(FreeM.

【Java课代表】的博客 5757

MCU-内部flash模拟成EepRom(重新梳理)

通过fee写数据Data的过程中,数据会mapping一个虚拟地址,这个虚拟地址就是你的身份,在向flash写数据的过程中会写入很多相同虚拟地址的不同数据,在读取或切页的过程中,遍历数据只会认为最下面第一个的虚拟地址所持有的数据是有效数据,其他的都是老数据,可以丢弃。模拟成eeprom的两个eep_page写数据逻辑就是,先在eep_page0写数据,eep_page0写满后,将eep_page0的有效数据copy到eep_page1,之后擦eep_page0;

xiandang8023的博客 711

Freemarker内置函数,数字,字符串,日期格式化

一、  Sequence的内置函数 1.  sequence?first 返回sequence的第一个值。 2.  sequence?last  返回sequence的最后一个值。 3.  sequence?reverse 将sequence的现有顺序反转,即倒序排序 4.  sequence?size    返回sequence的大小 5.  sequence?sort    将s

milife2012的专栏 2003

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Freemarker 学习总结

一、  Sequence的内置函数 1. sequence?first 返回sequence的第一个值。 2. sequence?last  返回sequence的最后一个值。 3. sequence?reverse 将sequence的现有顺序反转,即倒序排序 4. sequence?size  返回sequence的大小 5. sequence?sort  将sequence中的对象

duci2的专栏 644

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

FreeMarder学习总结

最常用的3个概念sequence 序列,对应java里的list、数组等非键值对的集合hash      键值对的集合namespace 对一个ftl文件的引用,利用这个名字可以访问到该ftl文件的资源指令if, else, elseif switch, case, default, breaklist, break include Import compr

xiangjiang5011的专栏 984

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

freemarker 常用内置函数的使用方法

freemarker 常用内置函数的使用方法 在我们应用Freemarker过程中,经常会操作例如字符串,数字,集合等,却不清楚Freemrker有没有类似于Java一样有相关的类及方法。在本文当中,我将向大家详细的介绍Freemarke的内置函数及用法,以便能帮助大家更熟练的应用Freemarker完成项目开发。 一、 Sequence的内置函数 1. sequence...

lingdongdeshui的专栏 1239

FreeMarker内置函数的用法

在我们应用Freemarker 过程中,经常会操作例如字符串,数字,集合等,却不清楚Freemrker 有没有类似于Java 一样有相关的类及方法。在本文当中,我将向大家详细的介绍Freemarke 的内置函数及用法,以便能帮助大家更熟练的应用Freemarker 完成项目开发。 一、 Sequence 的内置函数 1. sequence?first 返回sequence 的第

码农的博客 6706

Freemarker 内置函数 数字、字符串、日期格式化用法介绍

在用FreeMarker过程中,感觉FreeMarker的字符串,日期,集合等处理能力还是很强大的,上网搜了一些资料,整理如下,以便能帮助大家更熟练的应用Freemarker完成项目开发。 一、Sequence的内置函数 1.     sequence?first 返回sequence的第一个值。 2.     sequence?last  返回sequence的最后一个值。 3.

逆风奔跑。。不要去考虑什么天赋异禀,一切都来自经历和渴望。 5万+
上一篇: ofbiz中用ajax 注意点
下一篇: url中有加号
thoughtfly
博客等级 码龄17年 7粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值