FreeMarker教程详解:模板、规则与实例解析
需积分: 2 5 浏览量
更新于2024-07-18
收藏 50KB DOCX 举报
"FreeMarker是一种基于模板的Java库,用于生成动态内容,常用于Web开发。本手册包含三个部分:FreeMarker模板、FreeMarker规则和FreeMarker实例,旨在帮助学习者掌握这一技术。
第一篇 FreeMarker模板
FreeMarker模板与HTML页面相似,由四个基本元素构成:
1. 文本:这部分内容将直接被输出到最终生成的文档中。
2. 注释:使用`<#---->`格式,这些内容不会出现在最终输出中。
3. 插值:`${}`或`#{}`包裹的部分会被数据模型中的数据替换并输出。
4. FTL指令:FreeMarker特有的指令,如`<#list>`,它们不会被输出,而是执行相应的操作。
例如:
```html
<html>
<head>
<title>Welcome!</title>
</head>
<body>
<#-- 注释部分 -->
<#-- 下面使用插值 -->
<h1>Welcome${user}!</h1>
<p>Wehavetheseanimals:
<ul>
<#-- 使用FTL指令 -->
<#list animals as being>
<li>${being.name}for${being.price}Euros
</#list>
</ul>
</body>
</html>
```
第二篇 FreeMarker规则
1. FTL指令规则:
FreeMarker的指令使用FTL标签,类似于HTML标签,有三种形式:
- 开始标签:`<#directivename parameter>`
- 结束标签:`</#directivename>`
- 空标签:`<#directivename parameter/>`
用户定义的指令前应使用`@`而非`#`。
正确的嵌套是必须的,错误的使用会导致错误消息,且FTL标签内的空白字符会被忽略。
2. 插值规则:
FreeMarker有两种类型的插值:
- 通用插值:`${expr}`,根据表达式的类型决定输出。如果是字符串,直接输出;如果是数字,则按照默认格式(通过`#setting`指令设定)转化为文本。
- 数字格式化插值:`#{expr}`或`#{expr;format}`,可以对数字进行格式化输出。
通用插值的四种情况:
- 字符串值:输出表达式的结果。
- 数字值:转换为文本,遵循默认的数字格式。
- `null`:输出空字符串。
- 其他对象:调用`toString()`方法输出。
本手册通过详细讲解FreeMarker的模板结构、规则和实例,旨在帮助读者理解如何有效地使用FreeMarker生成动态内容。在实际应用中,FreeMarker能够灵活地结合后端数据,生成定制化的HTML页面或其他文本格式,极大地提高了Web应用的效率和可维护性。"
2019-04-10 上传
131 浏览量
2018-02-10 上传
2011-01-21 上传
2013-07-30 上传
2017-11-13 上传
2019-11-28 上传
391 浏览量
2025-01-09 上传
2025-01-09 上传
recruits
- 粉丝: 2
- 资源: 11
最新资源
- 用友ERP-U8企业应用套件V860销售培训
- kab2wl-开源
- ProjectWeek1_Hangman_17
- quarkus-webassembly-jdk11:Quarkus 和 Webassembly(使用 Teavm)测试
- 新手-开发人员:白山问题解决
- VC++ 6.0.rar
- TStone-开源
- aip-java-sdk-4.11.1.jar包.zip
- 基于JavaWeb实现网上招标平台【系统+数据库】
- 工伤保险培训:工伤保险的概念及工伤保险基金
- alexxy:alexxy的一些随机进行中的工作
- bagi.me:BAGI.ME 是一个可以轻松快速地分享、捐赠或投票的平台。 由 Elclark 创建,作为一个附带纯 JavaScript 代码库并使用 Firebase 作为后端的项目
- app-icon.rar
- 客户经理制:组织、管理PPT
- JWebMSN-开源
- try_py_demo:leetcode算法题的python实现