操作序列 和 散列 <br>
<#assign x=["one","two","three","four"]/>
one:${x?seq_contains("one")?string("yes","no")}<br>
${x?seq_index_of("one")}<br>
${x?seq_last_index_of("one",0)}<br>
<#list x?reverse as num>
${num}
</#list><br>
${x?size}<br>
freemarker sort,sort_by 排序<br>
<#assign names=["zhangsan","lisi","wangwu"]?sort>
<#list names as name>
${name}<br>
</#list>
<br>
<#assign ls=[
{"name":"zhangsan","age":30},
{"name":"lisi","age":35},
{"name":"wangwu","age":17}
]>
<#list ls?sort_by("age") as i>
${i.name}---${i.age}<br>
</#list>
<br>
FREEMARKER chunk 的使用<br>
<#assign seq=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p"]>
<#list seq?chunk(3,"\xA0") as row>
<#list row as cell>${cell}</#list><br>
</#list>
<br>
<#assign h={"name":"mouse","price":50}>
<#assign keys=h?keys/>
<#list keys as key>${key}==${h[key]}<br></#list>
<br>
<#assign values=h?values>
<#list values as value>${value}<br></#list>
分享到:
相关推荐
10. Sequences和hashes的内置方法:FreeMarker提供了多个内置方法来操作序列和散列,例如sequence?first返回序列的第一个值,hash?key返回散列中的所有键,等等。 11. 内置方法的使用:在模板中,可以使用内置方法...
values等,可以用来操作序列和散列。 Freemarker是一种基于模板的生成技术,可以根据给定的数据模型生成动态的文本输出。它提供了五种基本概念:Scalars、Hashes、Sequences、Collection Variables和Methods,并...
### Freemarker 使用例子详解 #### 一、Hashes(散列)操作 ...以上就是Freemarker中散列操作、序列操作以及内置函数的使用示例和解释。这些知识点对于熟练掌握Freemarker模板语言来说至关重要。
通过上述介绍,我们可以看出FreeMarker提供了一系列丰富的特性和工具,帮助开发者构建高效、可维护的Web应用。无论是从模板的编写还是变量的管理,FreeMarker都力求简单直观,使得开发者能够专注于业务逻辑本身,而...
在本篇笔记中,我们将深入探讨Freemarker的核心概念、语法结构和表达式。 一、核心概念 1. Scalars(标量): - 字符串:用单引号或双引号括起来的文本,例如 'hello' 或 "world"。 - 数字:直接写出数字,例如 ...
- **String Operations**:字符串操作包括插值(interpolation)和子串获取等。 - 示例:`"${user[0]}"` 通过上述知识点的学习,我们可以更好地理解和应用 FreeMarker 模板引擎的功能,从而更高效地生成所需的...
使用import指令导入库到模板中,Freemarker会为导入的库创建新的名字空间,并可以通过import指令中指定的散列变量访问库中的变量: ${my.mail} ${mail} 输出结果: <p>Copyright (C) 1999-2002 ...
FreeMarker是一个开源的Java...FreeMarker的灵活性和强大的表达能力使其成为Java应用中生成动态内容的理想选择,尤其是在Web应用程序中。通过熟练掌握这些概念和语法,开发者能够高效地构建出清晰、易于维护的模板。
5. **布尔值**:`true`和`false`表示布尔类型。 6. **Sequences(序列)**:类似数组,由逗号分隔的变量列表,可以进行遍历操作。 7. **Hashes(散列)**:类似字典,包含键值对,键必须是字符串,可以用大括号`{}`...
5. **操作符和控制结构**: - **运算符**:包括算术、比较和逻辑运算符,如`+`、`-`、`==`、`and`、`or`等。 - **控制流**:`<#if>`、`<#else>`、`<#for>`、`<#foreach>`等,用于条件判断和循环。 - **宏**:用户...
- **散列操作**: 如 `${map["key"]}`, `${map.key}`。 - **算术运算**: 如 `${a + b}`, `${a * b}`。 - **比较操作**: 如 `${a == b}`, `${a != b}`。 - **逻辑操作**: 如 `${a and b}`, `${a or b}`。 - **...
数据模型可以包含标量(如数字和字符串)、序列(数组或列表)、散列(类似于映射或字典)和组合(序列和散列的组合)。 ### 表达式 FTL模板中的表达式用于计算值,并且可以嵌入到FTL指令中。表达式可以是简单的...