FreeMarker模板引擎详解及语法介绍
需积分: 0 200 浏览量
更新于2024-07-26
收藏 27KB DOCX 举报
FreeMarker是一个Java模板引擎,独立于Web容器,可用于生成文本输出,包括HTML、XML、JSP和Java代码等。它基于模板和数据模型来工作。
FreeMarker模板结构主要包括四部分:
1. 文本:这部分内容将直接输出到最终生成的文档中。
2. 注释:以`<#---->`形式表示,不会出现在最终输出中。
3. 插值:通过`${}`或`#{}`将数据模型中的变量替换并输出。
4. FTL指令:FreeMarker特有的指令,以`#`开头,类似于HTML标签,但不会直接输出。
以下是一个FreeMarker模板的例子,展示了以上四个部分的使用:
```html
<html>
<head>
<title>Welcome!</title>
</head>
<body>
<#-- 注释部分 -->
<#-- 下面使用插值 -->
<h1>Welcome ${user}!</h1>
<p>We have these animals:</p>
<ul>
<#list animals as being>
<li>${being.name} for ${being.price} Euros</li>
</#list>
</ul>
</body>
</html>
```
FreeMarker的FTL指令规则:
1. 开始标签:`<#directivename parameter>`
2. 结束标签:`</#directivename>`
3. 空标签:`<#directivename parameter/>`
使用时需注意,用户自定义指令应使用`@`代替`#`。指令的使用需要正确嵌套,错误的指令会导致FreeMarker抛出错误。空白字符在FTL标签内会被忽略,标签间的符号如 `<`, `/`, 和指令不应有空格。
FreeMarker的插值规则:
1. 通用插值: `${expr}`,根据表达式`expr`的结果输出字符串。
2. 数字格式化插值: `#{expr}` 或 `#{expr;format}`。
- 通用插值根据结果类型决定输出方式:
- 字符串值:直接输出表达式结果。
- 数字:默认以字符串形式输出,可以进行格式化控制。
- 数字格式化插值允许对数字进行格式化,例如保留小数位数、千分位分隔等。
FreeMarker的插值表达式可以引用数据模型中的对象属性,如`${user.name}`获取用户对象的name属性。此外,它还支持各种内置函数和逻辑操作,如条件语句(`<#if>`、`<#else>`)、循环(`<#list>`)等,使得模板更加灵活。
FreeMarker的这种设计模式让开发者能够将业务逻辑和视图展示分离,提高代码的可维护性和可扩展性,是MVC架构中常用的表现层技术之一。
2019-04-21 上传
2018-07-29 上传
2018-12-07 上传
2013-03-30 上传
2012-06-20 上传
2009-02-18 上传
2023-07-27 上传
2024-11-15 上传
yuansiwen1985
- 粉丝: 1
- 资源: 4
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常