简介
FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成 HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。
FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写
FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序
虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据
FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件
FreeMarker与容器无关,因为它并不知道HTTP或Servlet;FreeMarker同样可以应用于非Web应用程序环境
FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库
FreeMarker是免费的
入门例子
Test1.java package freemarker;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;
import freemarker.template.Configuration;
import freemarker.template.Template;
public class Test1 {
private Configuration cfg;
public Configuration getCfg() {
return cfg;
}
public void init() throws Exception {
cfg = new Configuration();
cfg.setDirectoryForTemplateLoading(new File("bin/freemarker"));
}
public static void main(String[] args) throws Exception {
Test1 obj = new Test1();
obj.init();
Map root = new HashMap();
Template t = obj.getCfg().getTemplate("Test1.ftl");
Writer out = new OutputStreamWriter(new FileOutputStream("Test1.html"), "GBK");
t.process(root, out);
System.out.println("Successfull................");
}
}
y
用到的模版 Test1.ftl <#macro greet person,website>
Hello ${person}! Your Website is ${website}.
</#macro>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<@greet person="岁月如歌" website=
www.iteye.com/>
</body>
</html>
运行结果 <html>
<head>
<title>Hello World</title>
</head>
<body>
Hello 岁月如歌! Your Website is <a target="_blank" href="
www.iteye.com.">
www.iteye.com.</a>
</body>
</html>
相关推荐
### FreeMarker概述与核心知识点详解 #### 一、FreeMarker简介 FreeMarker是一个非常流行的开源模板引擎,主要用于根据模板和数据生成文本输出。它是由Java编写而成,因此可以在任何支持Java运行环境的地方运行。...
FreeMarker的核心是基于模板(Template)的,这些模板是由非编程人员编写的,然后在运行时由FreeMarker引擎动态地合并数据模型来生成最终的输出。 FreeMarker的API主要包括以下几个关键部分: 1. **`Configuration...
### FreeMarker概述 #### 一、FreeMarker简介 FreeMarker是一个功能强大的模板引擎,主要用于根据提供的数据生成文本输出。该工具完全用Java编写,并且设计初衷是为了生成HTML Web页面,尤其是在MVC(Model-View-...
FreeMarker的核心特性包括: 1. **通用目标**:FreeMarker能够生成各种文本格式,如HTML、XML、RTF等,并且可以通过自定义模板加载器从各种来源获取模板。 2. **强大的模板语言**:提供了丰富的指令,如`include`...
### FreeMarker 概述 FreeMarker 是一款模板引擎,它主要功能是基于模板和变动的数据来生成输出文本,这些文本可以是 HTML 网页、电子邮件、配置文件、源代码等。这款工具并非面向最终用户,而是作为一个 Java 类库...
### FreeMarker概述与核心知识点 #### 一、FreeMarker简介 FreeMarker是一个强大的模板引擎,主要用于Web应用程序中生成动态HTML页面以及其他格式的文档。它支持多种编程语言如Java、Python等,并且可以在不同的...
#### 一、FreeMarker概述与组成部分 FreeMarker是一种强大的模板引擎,主要用于生成动态HTML页面或其他格式的文档。它通过结合预定义的数据模型与模板文件来生成最终输出。FreeMarker模板文件相对简单直观,其结构...
#### 一、FreeMarker 概述 - **定义与功能**:FreeMarker 是一款强大的、灵活的、可扩展的模板引擎,它支持多种编程语言,主要用于生成动态HTML页面以及其他格式的文档,如XML、PDF等。FreeMarker 通过分离业务逻辑...
#### 一、Freemarker 概述 - **定义与功能**:Freemarker 是一款用纯 Java 编写的模板引擎,它主要用于根据模板生成文本输出,如 HTML 网页、XML 文件、电子邮件等。其核心优势在于能够高效地将动态数据转化为静态...
#### 一、FreeMarker概述与基本用法 **FreeMarker**是一种强大的、基于Java的模板引擎,主要用于动态生成HTML页面,但也支持其他类型的文本格式(如XML、JavaScript、电子邮件等)。它通过将数据模型与表现层分离的...
**Spring MVC3 集成 FreeMarker 概述** Spring MVC 是一个强大的MVC框架,用于构建基于Java的Web应用程序。它提供了模型、视图和控制器的分离,使得开发过程更加模块化,易于维护。而FreeMarker则是一个模板引擎,...
#### FreeMarker 概述 - **定义**: FreeMarker 是一个用纯 Java 编写的模板引擎,它主要用于基于模板生成文本输出。 - **用途**: 主要设计用于生成 HTML Web 页面,尤其是在 MVC (Model-View-Controller) 模式的应用...
1. FreeMarker 概述: FreeMarker 是一个基于模板的Java库,它允许开发者通过模板语言将数据模型与HTML、XML或其他文本格式分离。模板是纯文本文件,包含控制结构(如条件语句和循环)以及变量,这些变量由Java代码...
#### 一、FreeMarker概述 **FreeMarker** 是一款用Java编写的强大且功能丰富的模板引擎,适用于多种应用场景,包括但不限于Web应用中的动态页面生成。其核心设计目标是易于使用,同时提供高度灵活性和强大的功能。 ...