`
岁月如歌
  • 浏览: 106480 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

FreeMarker概述

阅读更多

freemarker


 

简介

  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简介 FreeMarker是一个非常流行的开源模板引擎,主要用于根据模板和数据生成文本输出。它是由Java编写而成,因此可以在任何支持Java运行环境的地方运行。...

    FreeMarker概述API

    FreeMarker的核心是基于模板(Template)的,这些模板是由非编程人员编写的,然后在运行时由FreeMarker引擎动态地合并数据模型来生成最终的输出。 FreeMarker的API主要包括以下几个关键部分: 1. **`Configuration...

    FreeMarker概述.pdf

    ### FreeMarker概述 #### 一、FreeMarker简介 FreeMarker是一个功能强大的模板引擎,主要用于根据提供的数据生成文本输出。该工具完全用Java编写,并且设计初衷是为了生成HTML Web页面,尤其是在MVC(Model-View-...

    FreeMarker概述2008

    FreeMarker的核心特性包括: 1. **通用目标**:FreeMarker能够生成各种文本格式,如HTML、XML、RTF等,并且可以通过自定义模板加载器从各种来源获取模板。 2. **强大的模板语言**:提供了丰富的指令,如`include`...

    FreeMarker

    ### FreeMarker 概述 FreeMarker 是一款模板引擎,它主要功能是基于模板和变动的数据来生成输出文本,这些文本可以是 HTML 网页、电子邮件、配置文件、源代码等。这款工具并非面向最终用户,而是作为一个 Java 类库...

    FreeMarker中文版word文档

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

    FreeMarker整理

    #### 一、FreeMarker概述与组成部分 FreeMarker是一种强大的模板引擎,主要用于生成动态HTML页面或其他格式的文档。它通过结合预定义的数据模型与模板文件来生成最终输出。FreeMarker模板文件相对简单直观,其结构...

    FreeMarker 中文教程 用于 FreeMarker 2.3.19

    #### 一、FreeMarker 概述 - **定义与功能**:FreeMarker 是一款强大的、灵活的、可扩展的模板引擎,它支持多种编程语言,主要用于生成动态HTML页面以及其他格式的文档,如XML、PDF等。FreeMarker 通过分离业务逻辑...

    freemarker 中午手册

    #### 一、Freemarker 概述 - **定义与功能**:Freemarker 是一款用纯 Java 编写的模板引擎,它主要用于根据模板生成文本输出,如 HTML 网页、XML 文件、电子邮件等。其核心优势在于能够高效地将动态数据转化为静态...

    FreeMarker模板基本语法

    #### 一、FreeMarker概述与基本用法 **FreeMarker**是一种强大的、基于Java的模板引擎,主要用于动态生成HTML页面,但也支持其他类型的文本格式(如XML、JavaScript、电子邮件等)。它通过将数据模型与表现层分离的...

    spring MVC3 集成 freemarker

    **Spring MVC3 集成 FreeMarker 概述** Spring MVC 是一个强大的MVC框架,用于构建基于Java的Web应用程序。它提供了模型、视图和控制器的分离,使得开发过程更加模块化,易于维护。而FreeMarker则是一个模板引擎,...

    freemarker-2.3.19教程

    #### FreeMarker 概述 - **定义**: FreeMarker 是一个用纯 Java 编写的模板引擎,它主要用于基于模板生成文本输出。 - **用途**: 主要设计用于生成 HTML Web 页面,尤其是在 MVC (Model-View-Controller) 模式的应用...

    freemarker生成word

    1. FreeMarker 概述: FreeMarker 是一个基于模板的Java库,它允许开发者通过模板语言将数据模型与HTML、XML或其他文本格式分离。模板是纯文本文件,包含控制结构(如条件语句和循环)以及变量,这些变量由Java代码...

    FreeMarker_Manual_zh_CN

    #### 一、FreeMarker概述 **FreeMarker** 是一款用Java编写的强大且功能丰富的模板引擎,适用于多种应用场景,包括但不限于Web应用中的动态页面生成。其核心设计目标是易于使用,同时提供高度灵活性和强大的功能。 ...

Global site tag (gtag.js) - Google Analytics