FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写
FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序
虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(如下图)

FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件
FreeMarker与容器无关,因为它并不知道HTTP或Servlet;FreeMarker同样可以应用于非Web应用程序环境
FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库
FreeMarker是免费的
而且你还可以通过Eclipse的插件来编辑FreeMarker,经过验证,FreeMarker 最好的 Eclipse 编辑插件是 JBoss Tools。
FreeMarker特性
1、通用目标
能够生成各种文本:HTML、XML、RTF、Java源代码等等
易于嵌入到你的产品中:轻量级;不需要Servlet环境
插件式模板载入器:可以从任何源载入模板,如本地文件、数据库等等
你可以按你所需生成文本:保存到本地文件;作为Email发送;从Web应用程序发送它返回给Web浏览器
2、强大的模板语言
所有常用的指令:include、if/elseif/else、循环结构
在模板中创建和改变变量
几乎在任何地方都可以使用复杂表达式来指定值
命名的宏,可以具有位置参数和嵌套内容
名字空间有助于建立和维护可重用的宏库,或者将一个大工程分成模块,而不必担心名字冲突
输出转换块:在嵌套模板片段生成输出时,转换HTML转义、压缩、语法高亮等等;你可以定义自己的转换
3、通用数据模型
FreeMarker不是直接反射到Java对象,Java对象通过插件式对象封装,以变量方式在模板中显示
你可以使用抽象(接口)方式表示对象(JavaBean、XML文档、SQL查询结果集等等),告诉模板开发者使用方法,使其不受技术细节的打扰
4、为Web准备
在模板语言中内建处理典型Web相关任务(如HTML转义)的结构
能够集成到Model2 Web应用框架中作为JSP的替代
支持JSP标记库
为MVC模式设计:分离可视化设计和应用程序逻辑;分离页面设计员和程序员
5、智能的国际化和本地化
字符集智能化(内部使用UNICODE)
数字格式本地化敏感
日期和时间格式本地化敏感
非US字符集可以用作标识(如变量名)
多种不同语言的相同模板
6、强大的XML处理能力
<#recurse> 和<#visit>指令(2.3版本)用于递归遍历XML树
在模板中清楚和直觉的访问XML对象模型
开源论坛 JForum 就是使用了 FreeMarker 做为页面模板。
相关推荐
其中,使用Java结合FreeMarker模板引擎生成Word文档,是一个提升工作效率的有效方法。本文将详细介绍如何利用Java和FreeMarker技术生成Word文档的中文最新版本。 首先,需要了解FreeMarker模板引擎的基本原理。...
Java FreeMarker是一个强大的模板引擎,常用于Web开发中生成动态HTML页面。在这个“Java FreeMarker demo 【Struts + FreeMarker】”示例中,我们将会探索如何将FreeMarker与Struts框架结合,以实现MVC(Model-View-...
Freemarker是一个强大的模板引擎,主要用于生成动态HTML、XML或其他文本格式的输出。它在Java平台上广泛使用,尤其是在Web开发中,与Spring框架等结合,为服务器端渲染提供灵活的模板语言支持。以下是对给定的...
FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出,仅是利用模板加上数据生成文本页面,即是由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据,并可以在模板中使用...
`Java-Freemarker`是一个强大的模板引擎,它可以帮助我们轻松地完成这个任务。本篇文章将详细讲解如何使用Java-Freemarker来生成Word文档。 首先,我们需要理解基本的工作流程: 1. **创建Word模板**:在Microsoft...
Freemarker是一款强大的开源模板引擎,常用于Java Web开发中生成动态HTML或其他文本格式的输出。这个2.3.23版本的中文参考手册是开发者理解并熟练运用Freemarker的关键资源,尤其对于中文环境下的开发者来说,中文...
Freemarker是一个强大的模板引擎,常用于Web应用中的视图层渲染,特别是在Java环境中,它作为JSP(JavaServer Pages)的一个替代方案被广泛应用。本教程将深入探讨Freemarker的核心概念、主要功能以及如何在实际开发...
1. 下载:首先,你需要从官方网站下载最新版的Freemarker jar包,如本例中的`freemarker-ide-0.9.14`。 2. 添加依赖:将下载的jar包添加到你的Java项目的类路径中。如果你使用Maven,可以在pom.xml文件中添加依赖:...
而Freemarker则是一种轻量级的、基于模板的Java模板引擎,常用于Web应用中的动态内容生成,比如JSP替代技术。它允许开发者将业务逻辑与页面展示分离,提高代码的可维护性和可读性。 "eclipse的freemarker插件"是指...
Freemarker是一款强大的模板引擎,常用于Web应用中的动态页面生成。它是一种声明式编程语言,主要用于将数据模型与HTML或者其他格式的模板结合,生成最终的输出。在本压缩包中,你将找到关于Freemarker的最新完整...
- **定义**: FreeMarker 是一个用纯 Java 编写的模板引擎,它主要用于基于模板生成文本输出。 - **用途**: 主要设计用于生成 HTML Web 页面,尤其是在 MVC (Model-View-Controller) 模式的应用程序中。 - **功能特点...
Struts2是一个用于创建企业级Java Web应用的MVC(Model-View-Controller)框架,而FreeMarker是一个用于生成文本输出(特别是HTML网页)的模板引擎。本文档深入探讨了如何将这两个技术结合在一起,实现Web应用的配置...
`freemarker-2.3.8.jar` 是一个基于Java的开源模板引擎,主要用于生成动态HTML、XML、PDF、Word等格式的文档。Freemarker是一个强大的、轻量级的模板语言,它与编程语言分离,使得设计人员可以专注于页面布局,而...
Freemarker是一个强大的模板引擎,常用于Web开发中生成动态HTML页面。它是Java平台上的一个开源项目,由阿帕奇软件基金会维护。本教程将深入介绍Freemarker的基础知识、核心概念以及实际应用,帮助你成为一名熟练的...
你可以从FreeMarker官网下载最新版本,或者通过Maven或Gradle等构建工具管理依赖。 - 配置:创建一个`Configuration`实例,并设置模板目录,例如: ```java Configuration cfg = new Configuration(Configuration...
Freemarker是一个强大的模板引擎,常用于Java应用中生成HTML页面或其他类型的文本。它使用简单的、类似HTML的语法,但允许动态数据驱动内容。API文档是开发者理解和使用库或框架的关键资源,本合集提供了Freemarker...
Freemarker是一个强大的模板引擎,常用于Web开发中生成动态HTML页面。Eclipse和MyEclipse作为Java开发的主流IDE,提供了丰富的插件支持来增强其功能。"Freemarker编辑器与Eclipse整合插件"是专门为Eclipse和...
Freemarker是一个强大的模板引擎,常用于Web应用中的视图层渲染,比如JavaEE的Struts、Spring MVC等框架。它的主要任务是将数据模型与HTML或其他格式的模板结合,生成最终的动态网页内容。本手册是针对Freemarker的...
- 升级至最新版可以享受更多的优化和安全修复。 7. **错误处理和调试**: - Freemarker提供详细的错误信息,帮助开发者定位模板错误。 - 可以通过开启模板的调试模式,获取更丰富的调试信息。 8. **最佳实践**...
Freemarker是一个强大的模板引擎,常用于Web应用中的动态页面生成。它是一种声明式编程语言,允许开发者将逻辑与表现分离,使得HTML等静态资源能够更便捷地与后端数据结合。在本教程中,我们将深入探讨如何搭建并...