【freemarker模板引擎语法】Freemarker 是一个基于 Java 的模板引擎,常用于生成 HTML、XML、SQL、Email 等文本内容。它通过将数据模型与模板结合,动态生成最终的输出结果。以下是 Freemarker 常用语法的总结。
一、基本语法结构
语法 | 说明 |
`${}` | 输出变量或表达式的结果,如 `${name}` |
`@{}` | 输出变量或表达式的原始值(不经过 HTML 转义) |
` | 条件判断语句,如 ` |
` | 与 ` |
`
| 循环遍历集合,如 `
|
` | 定义变量,如 ` |
` | 包含其他模板文件,如 ` |
` | 定义宏(可重用的代码块),如 ` |
二、常用指令详解
指令 | 示例 | 说明 |
` | ` | 条件判断 |
` | ` | 多条件判断 |
` | ` | 否则情况 |
`
| `
| 遍历集合 |
` | ` | 结束当前循环 |
` | ` | 跳过当前循环迭代 |
` | ` | 定义变量 |
` | ` | 引入外部模板 |
` | ` | 定义宏 |
` | ` | 在宏中调用嵌套内容 |
三、表达式支持
Freemarker 支持多种表达式,包括:
- 变量引用:`${user.name}`
- 方法调用:`${user.getRole()}`
- 数组/列表访问:`${users[0].name}`
- 字符串操作:`${"hello" + " world"}`
四、模板注释
注释类型 | 示例 | 说明 |
内部注释 | `<-- 这是一个注释 -->` | 不会被输出到最终结果 |
全局注释 | `<-- @author: John -- >` | 用于文档说明 |
五、常见错误与注意事项
错误类型 | 原因 | 解决方法 |
未定义变量 | 使用了未在数据模型中提供的变量 | 检查数据模型是否正确传递 |
语法错误 | 标签未闭合或拼写错误 | 使用 IDE 工具检查语法 |
编码问题 | 模板文件编码与服务器不一致 | 统一使用 UTF-8 编码 |
模板路径错误 | 引用的模板文件不存在 | 检查文件路径和名称 |
总结
Freemarker 是一个强大且灵活的模板引擎,适用于各种动态内容生成场景。掌握其基本语法和常用指令,能够有效提升开发效率。在实际应用中,注意变量的正确引用、模板路径的准确性以及良好的代码结构,有助于减少错误并提高维护性。