Freemarker模板语言完全指南
需积分: 12 99 浏览量
更新于2024-11-09
收藏 89KB DOC 举报
"本资源为Freemarker的语法完全手册,涵盖了Freemarker模板的四个主要组成部分:文本、注释、插值和FTL指令。手册详细介绍了Freemarker的FTL标签类型以及插值规则,包括通用插值和数字格式化插值的使用方法。"
FreeMarker是一个强大的模板引擎,常用于Java应用中生成动态内容,如HTML页面。其模板语言简洁而强大,允许开发者通过特定语法与后台数据模型相结合,生成定制化的输出。
1. **文本**:模板中的普通文本会被原样输出到最终生成的文档中。
2. **注释**:以`<#---->`形式的注释不会出现在生成的文档中,用于开发者在模板中添加临时或解释性内容。
3. **插值**:插值是FreeMarker的核心特性,通过`${}`或`#{}`将数据模型中的变量或表达式替换并输出。其中 `${}` 适用于所有类型的数据,而 `#{}` 通常用于包含逻辑或控制结构。
- **通用插值**:表达式的结果会被转换为字符串输出。例如,数字、日期等非字符串类型的数据会根据设置的格式转换。
- **数字格式化插值**:使用 `#{expr}` 或 `#{expr;format}` 对数字进行格式化输出,可以设置不同的格式,如货币、数字、百分比等。
4. **FTL指令**:FreeMarker提供了多种内置指令,如`#set`、`#if`、`#foreach`等,它们以`<#...>`的形式存在,用于控制模板的逻辑流程。对于自定义指令,使用`@`代替`#`。
- 开始标签:`<#directivename parameter>`
- 结束标签:`</#directivename>`
- 空标签:`<#directivename parameter/>`
在使用FTL标签时,遵循XML的嵌套规则,确保正确闭合。FreeMarker会忽略标签内的空白字符,但不允许`<`, `/` 和指令名称之间有空白。
FreeMarker的插值规则允许灵活处理不同类型的数据。例如,对于数字插值,可以使用内建的字符串函数进行格式化,如设置货币格式:
```freemarker
<#setting number_format="currency"/>
<#assign answer = 42 />
${answer}
${answer?string}<!-- the same as ${answer} -->
${answer?string.number}
${answer?string.currency}
${answer?string.percent}
```
上述代码将输出:
```
$42.00
$42.00
42
$42.00
4,200%
```
对于日期值,同样可以根据设置的格式转换输出。Freemarker语法完全手册提供了详尽的指南,帮助开发者高效地构建动态模板,实现与后端数据的完美结合。
vebasan
- 粉丝: 412
- 资源: 51
最新资源
- Python中快速友好的MessagePack序列化库msgspec
- 大学生社团管理系统设计与实现
- 基于Netbeans和JavaFX的宿舍管理系统开发与实践
- NodeJS打造Discord机器人:kazzcord功能全解析
- 小学教学与管理一体化:校务管理系统v***
- AppDeploy neXtGen:无需代理的Windows AD集成软件自动分发
- 基于SSM和JSP技术的网上商城系统开发
- 探索ANOIRA16的GitHub托管测试网站之路
- 语音性别识别:机器学习模型的精确度提升策略
- 利用MATLAB代码让古董486电脑焕发新生
- Erlang VM上的分布式生命游戏实现与Elixir设计
- 一键下载管理 - Go to Downloads-crx插件
- Java SSM框架开发的客户关系管理系统
- 使用SQL数据库和Django开发应用程序指南
- Spring Security实战指南:详细示例与应用
- Quarkus项目测试展示柜:Cucumber与FitNesse实践