Freemarker内置函数详解:数字、字符串、日期格式化

5星 · 超过95%的资源 需积分: 43 11 下载量 139 浏览量 更新于2024-10-07 收藏 4KB TXT 举报
本文档主要介绍了Freemarker模板语言中的内置函数,特别是关于数字、字符串和日期格式化的操作。这些函数对于处理数据展示和模板渲染非常有用。 在Freemarker中,内置函数提供了丰富的功能来操作不同的数据类型。以下是部分核心函数的详细说明: 1. Sequence相关函数: - `sequence?first`:获取序列中的第一个元素。 - `sequence?last`:获取序列中的最后一个元素。 - `sequence?reverse`:反转序列中的元素顺序。 - `sequence?size`:返回序列的长度。 - `sequence?sort`:对序列进行升序排序。 - `sequence?sort_by(value)`:根据指定的值进行排序,这里的`value`是用于比较的属性或表达式。 2. Hash相关函数: - `hash?keys`:获取哈希的所有键,返回一个序列。 - `hash?values`:获取哈希的所有值,返回一个序列。 - 示例:定义一个哈希`<#assign user={name:hailang,sex:man}>`,然后可以通过`user?keys`获取键的序列,通过`user?values`获取值的序列。 3. 字符串函数: - `str?substring(start, end)`:截取字符串的一部分,`start`和`end`分别表示开始和结束索引。 - `str?substring(start)`:仅提供开始索引时,截取从`start`到字符串末尾的部分。 - `str?cap_first`:将字符串的第一个字符转换为大写。 - `str?uncap_first`:将字符串的第一个字符转换为小写。 - `str?capitalize`:将字符串的首字母转为大写,其余转为小写。 4. 日期/时间函数: - `date?date(format)`:将日期字符串按照指定的`format`格式转换。 - `time?time(format)`:将时间字符串按照指定的`format`格式转换。 - 示例:将字符串转换为日期和时间,如`date1=2009-10-12?date(yyyy-MM-dd)`,`date2=9:28:20?time(HH:mm:ss)`,`date3=2009-10-12 9:28:20?time(HH:mm:ss)`。 5. 其他字符串判断函数: - `string?ends_with(suffix)`:判断字符串是否以指定的后缀结尾,返回布尔值。 - 示例:`string?ends_with(ing)?string`如果字符串以"ing"结尾,返回字符串本身,否则返回空字符串。 这些函数使得开发者能够灵活地处理Freemarker模板中的数据,无论是处理数字序列,还是格式化字符串和日期,都能提供强大的支持。了解并熟练掌握这些内置函数,将有助于提升Freemarker模板的编写效率和代码质量。