开始以下面的方式定义:
<#assign configArr[] />
<#assign configArr[0]=['北京','010']/>
<#assign configArr[1]=['上海','021']/>
<#list configArr as it>
${it[0]} ${it[1]}
</#list>
报错:
Exception in thread "main" freemarker.core.ParseException: Encountered "[" at line 1, column 19 in freemarker.ftl.
Was expecting one of:
"=" ...
"in" ...
">" ...
解决:
<#assign configArr = [
['北京','010'],
['上海','021']
] >
<#list configArr as it>
${it[0]} ${it[1]}
</#list>
正确输出了:
北京 010
上海 021
分享到:
相关推荐
在这个例子中,`users`是Java端传递到Freemarker模板的一个list,`user`是循环中的变量,每次迭代时代表`users`列表中的一个元素。`as`关键字用于定义迭代变量。在循环体内,我们可以通过`user`访问当前元素的属性,...
3. 数组和集合处理:Freemarker支持对数组和集合进行遍历、索引等操作。 4. 日期和数字格式化:通过`?date`、`?number`等后缀进行格式化。 5. I18N国际化:支持多语言环境,通过`<@messages>`标签处理本地化消息。 ...
根据提供的文件信息,我们可以深入探讨FreeMarker的相关知识点及其在网页模板设计中的应用。FreeMarker是一种用Java编写的模板引擎,其主要用途在于帮助开发者高效地生成动态内容,尤其是在Web开发领域有着广泛的...
- **数据模型**:Freemarker模板与应用程序的数据模型进行绑定,模型中的数据可以在模板中被引用和展示。 - **分离关注点**:Freemarker遵循MVC设计模式,负责视图部分,将业务逻辑和表现层分开,使代码更易于维护...
FreeMarker与Web容器如Tomcat、Jetty等无关,因此在非Web环境中,如生成命令行输出或者桌面应用中,FreeMarker同样能发挥其作用。 FreeMarker的配置和使用相当直观。开发者可以通过Java代码创建`Template`对象,...
Freemarker是一个强大的模板引擎,常用于Web应用中的视图层渲染,特别是在Java环境中。它是一种基于文本模板的语言,能够将数据模型与HTML或其他格式的文档结合,生成动态内容。这个2.3.18版本的中文手册是开发者...
数据模型在FreeMarker中起着核心作用,它定义了要显示在文档中的所有数据及其结构。数据模型通常是树状结构,其中包含了多种类型的变量,如标量、散列和序列。 **1. 散列 (Hashes):** 散列类似于目录结构,在其中...
- **Freemarker**支持在模板中定义变量,这可以通过 `#set` 指令实现。 - 定义的变量可以在当前作用域及其子作用域中使用。 ##### 4.3 命名空间 - **命名空间**的概念主要应用于解决指令或函数名称冲突的问题。 - ...
- 在Action配置中,定义一个结果类型为`dispatcher`的结果,指定对应的FreeMarker模板。 - 例如: ```xml <result name="success">/WEB-INF/template/example.ftl ``` - 这表示当Action执行成功后,会使用...
在FreeMarker中,对象的属性可以通过`.`操作符访问,如`user.name`。列表和Map则可以通过索引或键来获取元素,如`users[0]`或`map['key']`。此外,FreeMarker支持嵌套的对象和递归的数据结构。 1.4 模板一览 模板...
3. **数据模型与变量**:Freemarker可以接受各种类型的数据模型,如Java对象、Map或数组。模板中的变量引用 `${variable}` 将匹配数据模型中的对应值。 4. **指令**:Freemarker支持一系列指令,如`<#assign>`分配...
首先,图片需要转换为字节数组,然后在Freemarker模板中定义一个占位符,Java代码则将这个字节数组写入对应的单元格。 4. **参考博客**: 提供的参考文档可能包含了具体的步骤、代码示例以及如何结合Freemarker和...
Freemarker是一款强大的模板引擎,常用于Web应用中的视图层,实现动态内容的生成。它采用声明式编程,使得开发者可以专注于数据的处理,而不用关心如何将数据呈现到页面上。本资源包含了Freemarker的中文手册和教程...
5. **变量(Variables)**:在模板中,你可以使用`${}`来引用数据模型中的变量,Freemarker会自动寻找并替换对应的值。 6. **注释(Comments)**:Freemarker支持模板内的注释,例如`<!--#-->`和`<#-- -->`。 7. *...
- **宏**:类似于函数,但可以在模板中定义并重复使用,具有参数和局部变量。 5. **国际化**: - **消息资源包**:支持使用.properties文件进行多语言支持。 - **日期和数字格式化**:可以根据不同区域设置自动...
1. 非脚本语言:FreeMarker模板不包含执行逻辑,所有逻辑都在后端Java代码中处理,这有助于保持模板清晰,易于维护。 2. 高效性:由于模板在服务器端预编译为Java代码,因此FreeMarker执行速度快,性能优秀。 3. ...
开发者可以创建自定义指令以扩展Freemarker的功能,如`#macro`定义宏,`#import`引入其他模板。 ### 9. 异常处理 使用`#try`, `#catch`, `#finally`进行异常处理,类似于Java的try-catch-finally。 ### 10. 缓存 ...
在Freemarker中,模板和数据模型共同作用生成最终的输出。 1. 模板与数据模型的结合: - 模板是含有特殊指令的文件,这些指令通常以`${...}`的形式出现,它们被用于在生成最终输出时被数据模型中的值替换。 - ...
在IT行业中,SpringMVC和Freemarker是两个非常重要的技术组件,它们分别用于构建Web应用程序和服务端模板渲染。在本项目中,我们将探讨如何利用SpringMVC与Freemarker来动态生成带有图片的Word文档。 SpringMVC是...