`

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

 

 

分享到:
评论

相关推荐

    freemarker_常用内置函数

    ### Freemarker常用内置函数详解 #### 一、概述 Freemarker是一款强大的模板引擎,它支持多种语言环境,尤其在Web开发中被广泛应用于动态页面的生成。在Freemarker中,内置了大量的实用函数,这些函数能够帮助...

    freemarker内置函数

    本篇将深入讲解Freemarker的内置函数,结合实际例子,帮助你更好地理解和运用这些功能。 一、变量与表达式 在Freemarker中,变量的引用使用`${}`,例如 `${name}` 将输出变量name的值。表达式可以是简单的变量引用...

    freemarker 自定义freeMarker标签

    FreeMarker使用${...}表达式来插入变量,#{...}用于输出注释,以及、等控制结构进行条件判断和循环。然而,这些默认标签可能无法满足所有复杂的场景,因此自定义标签就显得尤为必要。 自定义FreeMarker标签通常涉及...

    Velocity 和 FreeMarker区别

    主要原因是FreeMarker内置了更多的功能,例如自动转义机制、丰富的内置函数等,这使得开发者无需额外编写工具类或方法即可完成许多常见的任务。而使用**Velocity**时,为了达到类似的效果,则可能需要开发者自己编写...

    freemarker-2.3.23jar

    4. **函数和方法**:Freemarker支持自定义函数和方法,可以使用内置的函数库,如字符串操作、数学计算等,也可以扩展自定义函数来满足特定需求。 5. **模板继承和导入**:通过`&lt;#import&gt;`和`&lt;#extends&gt;`,模板可以...

    freemarker Demo 适用于freemarker初学

    这个"freemarker Demo"项目应该包含了基本的模板文件、Struts2配置以及相关的Java代码,通过实际运行和修改这些文件,初学者可以更好地理解Freemarker的工作原理和使用方法。在学习过程中,可以逐步尝试不同的表达式...

    struts2和freemarker整合

    1. **基础概念**:解释了FreeMarker模板语言的基本元素,如变量、控制结构(if/else、foreach)、内置函数和方法。 2. **数据模型**:描述如何将Java对象绑定到模板,以及如何访问对象的属性。 3. **模板设计**:...

    freemarker.jar用于jdk1.8下使用

    4. **内置函数和指令**:Freemarker提供了一系列内置函数和指令,如`?html`用于防止XSS攻击,`&lt;#if&gt;`、`&lt;#else&gt;`、`&lt;#foreach&gt;`等用于控制流程。这些功能增强了模板的灵活性和可编程性。 5. **国际化支持**:...

    超强freemarker使用总结,有示例有讲解,可做快速查询手册!!

    接下来我们通过一个具体的示例来理解 Freemarker 的使用方法: ```html &lt;title&gt;Welcome! &lt;!-- 注释部分 --&gt; &lt;h1&gt;Welcome ${user}! &lt;p&gt;We have these animals: ${being.name} for ${being.price} Euros...

    freemarker

    4. **内置函数(Built-in Functions)**:Freemarker提供了许多内置函数,如`?html`(防止XSS攻击)、`?length`(获取数组或列表长度)等,可以方便地在模板中处理数据。 5. **变量(Variables)**:在模板中,你...

    freemarker 内置的几个处理

    本篇文章将深入探讨FreeMarker内置的几个处理方法及其应用场景。 1. **变量表达式**: FreeMarker中的基础元素是变量表达式 `${}`,它用于在模板中显示变量的值。例如,`${name}` 会输出与`name`关联的数据模型中...

    freemarker&velocity的使用

    4. **内置函数和宏** - 支持内置的字符串处理、日期时间操作等功能,并允许自定义宏(类似于函数)。 5. **缓存机制** - 可以缓存编译后的模板,提高性能。 **Velocity** Velocity是Apache软件基金会的一个项目,它...

    FreeMarker手册.pdf

    6. **内置函数和方法**:FreeMarker提供了一些内置的函数,如`?html`用于转义HTML实体,`?length`用于获取集合的长度。此外,还可以在模板中调用对象的方法,如`${list.sort()}`。 7. **模板继承与导入**:...

    Freemarker教程及jar包

    3. **内置函数和指令**:掌握Freemarker提供的各种内置函数,如`?html`用于转义HTML字符,`&lt;#assign&gt;`用于声明和赋值变量。 4. **数据模型**:理解如何创建和组织数据模型,将Java对象映射到模板变量。 5. **模板...

    FreeMarker_2.3.23 中文

    2.3.23的手册则可能增加了新版本的更新日志、新特性的介绍和使用方法,以及可能的API变更。 学习FreeMarker的关键在于理解其模板语法和如何与后端代码交互。通过阅读手册,开发者可以掌握如何编写模板,如何将Java...

    FreeMarker

    5. **日期和数字格式化**:FreeMarker 提供了内置的方法来格式化日期和数字,如 `${date?string("yyyy-MM-dd")}` 可以将日期对象转换为指定格式的字符串。 6. **宏**:宏是可重用的模板片段,类似于函数。通过`...

    FreeMarker入门手册

    - **函数和方法调用**:FreeMarker支持内置函数和自定义方法调用,如`length()`、`substring()`等。 - **逻辑运算符**:包括 `==`、`!=`、`、`&gt;`、`、`&gt;=` 和 `and`、`or`。 3. **FreeMarker与Java应用的集成** ...

    freemarker中文手册.rar

    3. 函数和方法调用:Freemarker支持内置函数和对象的方法调用,如`length()`、`toUpperCase()`等。 4. 模板继承和导入:`&lt;#include&gt;`和`&lt;#extends&gt;`用于模板的组合和复用。 三、Freemarker与Java的集成 1. ...

    Freemarker教程(中文版)

    Freemarker支持多种数据类型,包括字符串、数字、日期等,并提供了丰富的内置函数和方法来处理这些数据。 此外,Freemarker提供了条件语句(`&lt;#if&gt;`、`&lt;#else&gt;`、`&lt;#elseif&gt;`)和循环结构(`&lt;#foreach&gt;`),使得在...

Global site tag (gtag.js) - Google Analytics