`
小网客
  • 浏览: 1244309 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

freemarker之for list map

 
阅读更多

freemarker的for list:

<#list items as item>
${item.attr}
</#list>

 

freemarker的for map:

<#list yourmap?keys as key>
      ${key}=${yourmap[key]}<br />
</#list>

 

 

PS:map的key必须为String类型,如果为复杂的类型那么需要单独基于业务进行封装,否则不能正常遍历,场景举例如下:

学生:

public class Student{
    private String xh;
    private String name;
    /**setter getter**/
}

课程:

public class Course{
    private String id;
    private String cname;
    private String  ename;
    /**setter getter**/
}

我们需要遍历展示学生的选课信息,那么基于基本类型做map封装即可如Map<Student,List<Course>即可,不过在基于freemarker做展示遍历的时候不能正常访问,jstl的foreach可以,那么我们需要基于业务做封装,构造封装类:

public class StudentCourse{
          private String studentName;
          private List<Course> courses

}

然后map的组织形式为Map<String,StudentCourse>(如果你确实打算非要用map的话,这种方式也不失为一种方式)

0
1
分享到:
评论

相关推荐

    FreeMarker 遍历list

    在FreeMarker中,遍历`List&lt;Map&lt;String&gt;&gt;`是常见的操作,尤其在处理从后端传来的复杂数据结构时。这篇博客链接虽然无法直接访问,但从标题来看,我们可以推测其内容可能涉及如何在FreeMarker模板中遍历一个包含Map...

    Freemarker中遍历list集合实例

    5. **遍历map**:如果list中的元素是map,可以用`key`和`value`遍历键值对。 ```freemarker &lt;#list users[0].properties as entry&gt; 属性名: ${entry.key}, 值: ${entry.value} &lt;/#list&gt; ``` 6. **反向遍历**...

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

    listA-List&lt;特性1Model&gt;--表格1 map.listA &lt;#list map.listA as model&gt;&lt;/#list&gt; column Model属性——字段名 ${model.column} columnName Model属性——字段中文名 ${model.column} rate Model属性——字段占比 ...

    java导出word使用freemarker模板map数据导出word带图片

    java导出word使用freemarker模板map数据导出word带图片 可以循环map 中list。 调用的2种方法在博客 https://blog.csdn.net/yjflinchong/article/details/122614203

    freemarker Demo 适用于freemarker初学

    在Java应用中,Freemarker通过ModelAndView或者Map对象将数据传递到视图层。开发者可以在Java后端准备数据模型,然后传递给Freemarker模板,模板根据模型中的数据生成HTML输出。 4. **与Struts2集成** Struts2是...

    freemarker基本语法整理

    Freemarker 提供了多种循环遍历方式,包括遍历普通 List、遍历 Map 和遍历 List 的前面几项。遍历普通 List 的语法如下: ```html &lt;#list someList as item&gt; ... &lt;/#list&gt; ``` 遍历 Map 的语法如下: ```html &lt;#...

    freemarker

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

    FreeMarker笔记1

    如果List的元素是Map,可以这样遍历: ```freemarker &lt;#list users as userMap&gt; , value in userMap&gt; ${key}:${value} &lt;/#list&gt; ``` ### 5. 获取当前选代的索引 在遍历过程中,可以使用`&lt;#list&gt;`的`index`属性...

    freemarker中文学习资料

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

    freemarker生成复杂excel,带换行

    Map, Object&gt; model = new HashMap(); model.put("data", dataList); // 创建Excel工作簿 Workbook workbook = new HSSFWorkbook(); Sheet sheet = workbook.createSheet("Sheet1"); // 渲染模板并转换为Excel ...

    freemarker生成xml示例

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

    FreeMarker入门之一:say hello world

    在这个“FreeMarker入门之一:say hello world”中,我们将探讨如何使用FreeMarker来创建一个简单的“Hello, World!”程序,了解其基本语法和工作原理。 1. **FreeMarker简介** FreeMarker是一个开源项目,由...

    Java模板引擎之FreeMarker

    Java模板引擎之FreeMarker FreeMarker是一个开源的Java模板引擎,它被广泛应用于Web开发中,用于生成动态HTML、XML或其他格式的文本。这个强大的工具允许开发者将逻辑代码与表现层分离,使得网页设计人员可以专注于...

    FreeMarker相关学习文档

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

    Freemarker实现excel导出功能

    2. 数据模型:在使用Freemarker生成任何输出之前,需要准备一个数据模型,这个模型通常是Java对象或Map,包含了要在模板中使用的数据。 3. 模板解析:Freemarker引擎会解析模板文件,并结合数据模型生成最终的输出...

    FreeMarker_Programmer Guide

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

    FreeMarker手册.pdf

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

    Freemarker通用select下拉框

    这里的`#list`是Freemarker的迭代指令,遍历`dropdownList`中的每一项,并将`key`和`value`分别插入到`&lt;option&gt;`的`value`和文本内容中。 为了实现通用性,我们需要一个方法或服务在后端生成这个`dropdownList`,...

    freemarker操作手册-完整freemarker教程

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

Global site tag (gtag.js) - Google Analytics