`

FreeMarker简介

阅读更多

jar包地址:http://www.freemarker.org/freemarkerdownload.html
FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。
FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。
它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等。

Demo:
一、在eclipse中创建FreeMarker模板

${user.userName}
${user.userPassword}

并将其命名为“user.ftl”

二、在eclipse中创建FreeMarker数据模型
以User为例:

 1 package test.client;
 2 
 3 /**
 4  * 用户实体类
 5  * 
 6  * @author Ying-er
 7  * @time 2010-2-6下午04:05:25
 8  * @version 1.0
 9  */
10 public class User {
11     private String userName;
12 
13     private String userPassword;
14 
15     public String getUserName() {
16         return userName;
17     }
18 
19     public void setUserName(String userName) {
20         this.userName = userName;
21     }
22 
23     public String getUserPassword() {
24         return userPassword;
25     }
26 
27     public void setUserPassword(String userPassword) {
28         this.userPassword = userPassword;
29     }
30 
31 }
32 


注意:注意:FreeMarker数据模型不是文本文件,而是树状结构的。

三、在eclipse中填充FreeMarker数据模型
将创建好的User对象以key-value的形式封装到Map中
片段代码:

User user = new User();
        user.setUserName(
"测试");
        user.setUserPassword(
"123");

        Map
<String, Object> root = new HashMap<String, Object>();
        root.put(
"user", user);


四、创建FreeMarker的模板引擎,解析模板
1.创建和配置Configuration对象,Configuration对象实例负责管理FreeMarker模板的路径加载及模板的创建和缓存。
  通常应用程序的生命周期中只会创建一个Configuration实例。
2.获取模板实例,即通过Configuration实例获取Template实例,调用getTemplate()方法。
3.合并数据模型和模板

该步骤完整代码:

 1 package test.freemarker.util;
 2 
 3 import java.io.File;
 4 import java.io.IOException;
 5 import java.io.OutputStreamWriter;
 6 import java.io.Writer;
 7 import java.util.Map;
 8 
 9 import freemarker.template.Configuration;
10 import freemarker.template.DefaultObjectWrapper;
11 import freemarker.template.Template;
12 import freemarker.template.TemplateException;
13 
14 /**
15  * freemarker 模板工具
16  * 
17  * @author Ying-er
18  * @time 2010-2-6下午04:07:27
19  * @version 1.0
20  */
21 public class FreeMarkertUtil {
22     /**
23      * 
24      * @param templateName
25      *            模板文件名称
26      * @param templateEncoding
27      *            模板文件的编码方式
28      * @param root
29      *            数据模型根对象
30      */
31     public static void analysisTemplate(String templateName,
32             String templateEncoding, Map<??> root) {
33         try {
34             /**
35              * 创建Configuration对象
36              */
37             Configuration config = new Configuration();
38             /**
39              * 指定模板路径
40              */
41             File file = new File("templates");
42             /**
43              * 设置要解析的模板所在的目录,并加载模板文件
44              */
45             config.setDirectoryForTemplateLoading(file);
46             /**
47              * 设置包装器,并将对象包装为数据模型
48              */
49             config.setObjectWrapper(new DefaultObjectWrapper());
50 
51             /**
52              * 获取模板,并设置编码方式,这个编码必须要与页面中的编码格式一致
53              */
54             Template template = config.getTemplate(templateName,
55                     templateEncoding);
56             /**
57              * 合并数据模型与模板
58              */
59             Writer out = new OutputStreamWriter(System.out);
60             template.process(root, out);
61             out.flush();
62             out.close();
63         } catch (IOException e) {
64             e.printStackTrace();
65         } catch (TemplateException e) {
66             e.printStackTrace();
67         }
68 
69     }
70 }
71 
摘自:http://www.blogjava.net/crazycoding/archive/2010/02/06/312192.html

 

分享到:
评论
1 楼 yanzelai 2013-11-18  
谢谢分享

相关推荐

    Freemarker简介及标签详解大全

    Freemarker 简介及标签详解大全 FreeMarker 是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯 Java 编写。FreeMarker 被设计用来生成 HTML Web 页面,特别是基于 MVC 模式的应用程序。虽然 FreeMarker ...

    freemarker Demo 适用于freemarker初学

    1. **Freemarker简介** Freemarker是一个基于模板的开源模板语言,它与Java代码分离,使得开发者可以专注于业务逻辑,而设计师则可以专注于页面设计。它不依赖于任何特定的Web框架,可以在各种Java应用中使用。 2....

    学习Freemarker简介及标签详解大全.pdf

    FreeMarker的核心理念是将展示逻辑与业务逻辑分离,让Java程序负责处理数据,而模板则负责生成最终的页面内容。 FreeMarker不依赖于特定的Web容器,它可以独立工作,也可以与各种Web框架如Struts集成。它的模板语言...

    Freemarker简介及标签详解大全.pdf

    总的来说,Freemarker是一种强大的模板引擎,提供了丰富的语言结构和指令来生成动态内容,它强调与应用程序逻辑的分离,便于页面设计人员和程序员协作,同时具备良好的扩展性和灵活性。通过Eclipse的插件,如JBoss ...

    freemarker编辑器

    一、Freemarker简介 Freemarker是一个开源的、基于Java的模板引擎,它能够将设计人员的模板与程序逻辑分离,让开发者可以专注于业务处理,而设计师则可以自由地设计页面布局。Freemarker的模板语言(FTL)非常简洁,...

    springboot集成freemarker和shiro框架

    **一、FreeMarker简介** FreeMarker是一个基于模板的Java模板引擎,它能够将数据模型渲染成HTML或者其他格式的文档。FreeMarker与JSP不同,它不依赖于Servlet API,因此更轻量级,适合用于SpringBoot这样的微服务...

    freemarker操作手册-完整freemarker教程

    1. **Freemarker简介** - Freemarker是一个开源的、轻量级的模板引擎,其核心功能是将数据模型与HTML模板结合,生成最终的网页。 - 它不依赖于任何特定的Web框架,可以灵活地应用于各种项目中。 2. **基础语法** ...

    FreeMarker中文文档.pdf下载

    ### 一、FreeMarker简介 FreeMarker是一个开放源代码的模板引擎,它能够将数据模型与表现层分离,使开发人员能够更加专注于业务逻辑的实现,而让前端工程师或设计师专注于界面的设计。这种模式有助于提高开发效率,...

    FreeMarker实例教程,手把手教你FreeMarker的方方面面

    #### 一、FreeMarker简介 **FreeMarker**是一款功能强大的模板引擎,主要用于生成文本输出,如HTML页面、电子邮件、配置文件等。它被广泛应用于Web开发领域,能够帮助开发者轻松地将数据模型与表现层分离,从而提高...

    freemarker概述

    #### 一、FreeMarker简介 FreeMarker是一个非常流行的开源模板引擎,主要用于根据模板和数据生成文本输出。它是由Java编写而成,因此可以在任何支持Java运行环境的地方运行。FreeMarker的主要用途是生成HTML网页,...

    FreeMarker中文版word文档

    #### 一、FreeMarker简介 FreeMarker是一个强大的模板引擎,主要用于Web应用程序中生成动态HTML页面以及其他格式的文档。它支持多种编程语言如Java、Python等,并且可以在不同的环境中运行。FreeMarker的一个显著...

    Struts2 与Freemarker 的配置方法

    1. **Freemarker简介**: - Freemarker 是一个基于模板的语言,主要用于生成HTML或其他格式的文本输出。它的核心是模板文件,开发者可以使用Freemarker的语法来动态地生成内容。这些语法包括变量引用、控制结构(如...

    Myeclipse2017Ci8安装freemarker

    ### 二、Freemarker简介 Freemarker是一个用Java编写的模板引擎,它可以从HTML页面中分离业务逻辑与显示逻辑,使开发人员可以更专注于业务逻辑的实现,而将显示逻辑留给设计师处理。Freemarker支持多种数据类型,...

    freemarker实现一行两列算法

    #### 一、Freemarker简介 Freemarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。这些模板几乎可以用来生成任何格式的输出,如HTML、XML、Java源代码等。Freemarker的核心功能是将数据模型与表现层...

    freemarker中文手册.pdf

    #### 一、FreeMarker简介 - **定位与功能**:FreeMarker是一款基于模板的通用工具,旨在帮助开发者利用模板生成各类文本输出,包括但不限于HTML网页、XML文档、RTF文件及Java源代码等。 - **适用场景**:虽然最初...

    freemarker环境搭建(一)

    一、Freemarker简介 Freemarker是一个开源的Java库,它处理模板,生成基于这些模板的文本输出。这些模板可以用于生成任何类型的文本,但最常见的是HTML网页。Freemarker的核心理念是将设计和业务逻辑分开,让设计师...

    利用FreeMarker生成word文件例子

    ### FreeMarker简介 FreeMarker是一个开源的、基于模板的Java库,它将数据模型与HTML、XML或其他文本模板结合,生成动态内容。它的主要优势在于将业务逻辑与视图层分离,让开发者可以专注于内容呈现,而不用关心如何...

    基于freemarker的JAVA代码生成工具

    **Freemarker简介** Freemarker是一个强大的模板引擎,它支持动态语言,常用于生成HTML页面或者其他文本文件。在Java领域,Freemarker被广泛应用于邮件模板、动态报表生成以及代码生成等场景。它通过定义模板文件,...

    freemarker_servlet_demo

    1. **Freemarker简介** Freemarker是一个基于模板的视图技术,它与业务逻辑分离,允许开发者使用HTML样式的模板来生成输出。它的主要优点是模板语言简单易懂,不会引入过多的编程元素,有利于设计人员和开发人员的...

Global site tag (gtag.js) - Google Analytics