`

FreeMarker集合(List、Map)

阅读更多

我们上一节认识了FreeMarker基本数据类型 ,接口认识FreeMarker集合(List、Map)

 

序列(List)

定义序列

<#-- 定义序列 --> 
<#assign mynums=[11,12,13,14,15,16,17,18,19]/> 
<#list mynums as mn> 
    ${mn} 
</#list>
 

拆分序列

<#-- 拆分序列 --> 
<#-- 这里是将mynums序列中下标从3到6之间的元素拆分出来,组成一个新的序列 --> 
<#assign mynum01=mynums[3..6]/> 
<#list mynum01 as mn01> 
    ${mn01} 
</#list>
 

 

字符串的拆分  

${"你好,你来了吗今天看书了吗!"[0..8]}...
你好,你来了吗今天...
 

连续序列

<#-- 连续序列 --> 
<#-- 从55到58:注意此时若写成[55..58]或者[66..68]则会报错 --> 
<#assign num01=55..58/> 
<#list num01 as num> 
    ${num} 
</#list> 
<#list 66..68 as num> 
    ${num} 
</#list>
 

 

哈希表(Map)

定义哈希表

<#assign maps={"1":" 张三 ","2":" 李四 "}>

${maps["1"]}

张三

<#-- 以下代码可以将 map key 转换为相应的序列 -->

<#assign keys=maps?keys>

<#list keys as key>

${key}---${maps[key]}

</#list>

1--- 张三

2--- 李四

<#assign users={"username ":" 张三 ","password":"123"}>

${users.username}---${users["password"]}

张三 ---123

注意:

   FreeMarker中的哈希表要求其key必须是字符串,包括数据模型中的java.util.HashMap的key也要是字符串,否则报错

   不能直接用list遍历map,需要先将map的key转换为相应的序列

 

本文链接: FreeMarker集合(List、Map) ,本文由huangyineng原创,转载请注明出处

下一节:FreeMarker自定义指令

分享到:
评论

相关推荐

    FreeMarker 遍历list

    在Java中,`List&lt;Map&lt;String&gt;&gt;`表示一个列表,其中每个元素都是一个键值对的集合(Map)。Map通常用于存储关联数据,键(key)和值(value)之间通过键进行关联。在FreeMarker模板语言(FTL)中,遍历这样的结构可以...

    Freemarker中遍历list集合实例

    本实例将详细介绍如何在Freemarker中遍历list集合,帮助你理解和应用这一核心功能。 在Freemarker中,遍历list集合主要依赖于`&lt;#list&gt;`指令。当你有一个Java对象,例如一个ArrayList或LinkedList,这些对象在...

    SpringBoot_Freemarker生成Word_多个表格+两层嵌套循环

    list(Table)表的集合 &lt;#list table as map&gt;&lt;/#list&gt; table1(map) table-名字 ${map.table} tableName-中文名 ${map.tableName} columnCount-字段数 ${map.columnCount} recordCount-记录数 ${map.recordCount}...

    freemarker Demo 适用于freemarker初学

    Freemarker有许多内置的指令,如`include`用于包含其他模板,`import`用于导入宏库,`list`用于遍历集合等。同时,还可以自定义函数和宏来扩展功能。 10. **模板调试** Freemarker提供了一个调试模式,可以帮助...

    freemarker中文学习资料

    - **Map对象**:Freemarker支持Java Map对象作为数据模型,键值对可以通过模板语法访问。 - ** Beans**:可以直接使用Java Bean对象,属性可以通过`.`操作符访问。 - **List和集合**:列表和集合可以通过`&lt;#list&gt;...

    freemarker

    2. **数据模型(Data Model)**:数据模型是Freemarker用来渲染模板的数据源,它可以是Java对象、Map、List等任何形式。在Java中,通常通过`ModelAndView`或`Map`将数据传递给Freemarker。 3. **Freemarker指令...

    FreeMarker相关学习文档

    开发者可以将任何Java对象传递给FreeMarker,包括基本类型、集合、Map等。 3. 指令和变量:FreeMarker支持多种指令,如`&lt;#if&gt;`(条件判断)、`&lt;#foreach&gt;`(循环)和`&lt;#assign&gt;`(赋值)。变量则用于显示数据模型中...

    freemarker判断对象是否为空的方法

    FreeMarker是一个强大的模板引擎,它使用模板和数据模型来生成动态内容。由于其与Web容器无关的特性,FreeMarker可以广泛应用于生成HTML、XML、JSP等各类文本输出。然而,在使用FreeMarker时,我们经常需要判断对象...

    FreeMarker笔记1

    对于List类型的集合,可以使用`&lt;#list&gt;`指令来遍历。例如: ```freemarker &lt;#list users as user&gt; 用户名:${user.name} &lt;/#list&gt; ``` 这将遍历`users`列表,并对每个元素的`name`属性进行输出。 ### 3. 遍历 Map ...

    freemarker生成xml示例

    1. **数据模型(Model)**:这是你要生成XML所依赖的数据,可以是Java对象、Map或者其他集合类型。例如,你可以创建一个包含多个元素的列表,每个元素都有属性如`name`、`age`等。 ```java List&lt;Person&gt; persons = ...

    FreeMarker+中文手册

    - **列表和迭代**:`&lt;#list&gt;`指令用于遍历集合、数组或Map,输出其内容。 - **条件语句**:`&lt;#if&gt;`、`&lt;#elseif&gt;`、`&lt;#else&gt;`用于条件判断。 - **异常处理**:`&lt;#try&gt;`、`&lt;#catch&gt;`、`&lt;#finally&gt;`用于捕获和处理模板...

    FreeMarker手册.pdf

    数据模型可以是Java对象、集合、Map等,它们通过模板变量在模板中引用。 3. **模板语言**:FreeMarker的模板语言由一系列控制结构(如条件语句、循环)、表达式(用于访问数据模型中的属性)和函数组成。例如,`...

    freemarker 2.3.18 中文手册

    它可以是Java对象、集合、Map等。模板通过表达式访问这些数据,如`${user.name}`获取用户对象的name属性。 3. **指令(Directives)**:Freemarker提供了一系列指令,如`&lt;#include&gt;`用于包含其他模板,`&lt;#macro&gt;`...

    Freemarker 实例,Freemarker 实例

    - **数据模型(Data Model)**:提供给模板的数据,通常由Java对象构成,包括单个对象、集合、Map等。 - **模板引擎(Engine)**:负责解析模板和数据模型,生成最终的输出。 **2. Freemarker配置** 在Java项目中,通常...

    freemarker-2.2.8.zip

    数据模型是应用程序提供的数据,可以是任何Java对象,包括基本类型、集合、Map等。当Freemarker渲染模板时,它会根据数据模型替换模板中的变量,生成最终的输出文本。 在2.2.8版本中,Freemarker引入了多项改进和...

    freemarker操作手册-完整freemarker教程

    - 数据模型:Freemarker与后台代码交互,获取数据并封装成Map对象,这些对象在模板中通过键值对访问。 - 模板:使用FTL(Freemarker Template Language)编写,包含静态文本和变量/指令。 4. **模板指令** - `#...

    FreeMarker_Programmer Guide

    它可以是Java对象、Map、List等。模板中的变量引用这些数据模型中的属性,如`${variable}`,FreeMarker会自动将Java对象转换为可打印的字符串。 **3. 控制结构** FreeMarker提供了类似于编程语言的控制结构,包括...

    freemarker资料集

    开发者可以将Java对象、集合、Map等数据结构暴露给模板,供其使用。 9. **配置与自定义**: FreeMarker允许通过`Configuration`类进行细致的配置,如模板加载策略、模板缓存机制、日期时间格式等。此外,还可以...

    非常好的Freemarker中文教程

    2. **数据模型**:理解如何将Java对象绑定到模板,包括基本类型、集合、Map等数据结构的使用。 3. **模板设计模式**:如主模板(Master Template)与内容块(Content Blocks)的配合,实现页面的复用和布局。 4. *...

Global site tag (gtag.js) - Google Analytics