Freemarker支持遍历Map,现在写一个遍历类似Map<String,Map<String,Object>>的方式
例如现在有这样一个Map<String,Object> userInfo = new HashMap<String,Object>();
userInfo.put("username","username");
Map<String,Object> map = new HashMap<String,Object>();
map.put("key","value");
userInfo.put("map",map);
这样就构造出了一个复杂的Map
现在要在ftl模板中对这个map进行遍历
因为 ${userInfo.username}是个字符串这样就可以得到值,而userinfo.map是个Map对象所以采用以下
方式遍历,这些方法可以写在html区域的代码中也可以写在javascript区域的代码中
<#assign map = userinfo.map>
<#list map?keys as key>
${key}------${map[key]}
</option>
</#list>
分享到:
相关推荐
@RequestMapping(/freemarker) @Controller public class FreemarkerController { //测试1 @RequestMapping(/test1) public String test1(Model model){ //向数据模型放数据 model.addAttribute(name,三年二班)...
3. **遍历Map**:使用`<#list>`指令,我们遍历`dataList`中的每一个Map对象,然后再次使用`<#list>`遍历Map中的每一个键值对。 4. **输出结果**:`${key}`和`${value}`分别代表Map中的键和对应的值,它们会被替换为...
2. **Freemarker模板(Template)**:这是一个`.ftl`文件,里面定义了XML的结构和如何填充数据。例如,一个简单的模板可能如下所示: ```ftl ${person.name} ${person.age} ``` 在这个模板中,`...
对于复杂模板,考虑拆分为多个小模板。 4. **模板测试**: 可以使用FreeMarker提供的API编写单元测试,确保模板的正确性。 总结起来,FreeMarker是一款强大且灵活的模板引擎,它通过分离视图和逻辑,提高了Web开发...
FreeMarker会遍历模板,遇到每个占位符`${}`,它都会查找相应的值并替换。 8. **转换回Word文档**: 最后,使用Apache POI或类似的库,将生成的XML文件转换回Word文档(`.docx`格式)。这个过程通常涉及解析XML,...
在本项目中,`index.ftl`文件就是FreeMarker模板,它将接收到后端传来的用户数据并展示。 2. **Spring Boot**: Spring Boot是基于Spring框架的微服务开发工具,它简化了初始化、配置和运行Spring应用的过程。...
Freemarker提供了多种控制结构,如`#if`用于条件判断,`#foreach`用于循环遍历集合,`#set`用于变量赋值,`#include`用于引入其他模板等。这些结构使得模板可以具备一定的逻辑处理能力。 8. **变量和表达式** ...
例如,你可以创建一个Map或JavaBean来封装数据,然后传递给FreeMarker的`Configuration`对象,由其负责解析模板并填充数据。 配置FreeMarker涉及到以下步骤: 1. 创建`Configuration`对象,设置模板目录和其它配置...
在这个“freeMarker例子”中,我们可以深入学习FreeMarker的基本用法和特点。博客链接指向了iteye上的一个博客,尽管具体内容未给出,但通常会包含FreeMarker的安装、配置、基本语法、控制结构、内置函数以及与其他...
- 这个例子可能会创建一个简单的模板文件,如`hello.ftl`,并提供一个数据模型,比如包含用户信息的对象。 - 测试代码会加载模板,填充数据模型,然后输出生成的HTML。 在实际应用中,Freemarker广泛应用于MVC...
例如,可以使用嵌套的Freemarker指令创建复杂的布局,或者通过遍历集合来动态生成表格内容。 总结起来,这个入门级的例子展示了如何使用Freemarker生成Word文档的基本步骤。通过模板和数据模型的结合,Freemarker...
Freemarker是一个强大的模板引擎,常用于Web应用中的视图层渲染,比如Spring MVC框架中的JSP替代技术。本示例关注的是如何在Freemarker(FTL)中创建一个通用的`select`下拉框,以满足各种Web界面中的下拉选择需求。...
同时,SpringMVC中的模型数据可以是复杂的Java对象,FreeMarker可以方便地遍历和展示这些对象。 通过这种方式,FreeMarker与SpringMVC的整合使得开发者可以专注于业务逻辑,而视图的渲染则由FreeMarker模板引擎处理...
在这个例子中,`${title}`和`${user}`是数据模型中的变量,而`#foreach`是一个控制结构,用于遍历`$items`列表并输出每个元素的`name`属性。 接下来,我们需要一个Java程序来处理数据模型并应用模板。在`freemarker...
在Struts2的Action类中,你可以创建一个Model对象,填充数据,然后在返回结果时,指定对应的Freemarker模板,如`return "success.ftl"`。 7. **模板变量和表达式** Freemarker支持丰富的表达式,如`${user.name}`...
接着,Servlet会加载一个名为`index.ftl`的Freemarker模板,将Map对象传递给模板。模板中可能包含一些条件判断和循环,用来动态生成HTML表格或其他展示数据的元素。 6. **部署与测试** 将项目打包成WAR文件,部署...
Freemarker是一个开源的Java库,它允许开发者通过定义模板(.ftl文件)和数据模型,生成文本输出。它的核心思想是分离业务逻辑和视图展示,使得开发者可以在不修改代码的情况下,通过修改模板来改变页面样式。 项目...
2. 编写模板:创建一个`.ftl`文件,例如`wordTemplate.ftl`,其中包含Word文档的结构和Freemarker表达式。 3. 设置数据模型:在Java代码中,构建包含所需数据的对象或Map。 4. 渲染模板:使用`Template`类加载模板...
其次,可能会有一些新的功能或API,使得开发者能更方便地处理复杂模板逻辑。此外,此版本还可能修复了之前版本中的一些已知问题,提高了稳定性和兼容性。 使用Freemarker时,开发者通常会创建一个模板文件,例如`....