`

freemarker入门例子

阅读更多

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

        freemarker入门例子,直接代码如下:

FreeMarkerTest.java

package com.bijian.study.freemark;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import freemarker.template.Configuration;
import freemarker.template.DefaultObjectWrapper;
import freemarker.template.Template;

public class FreeMarkerTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception{
		
		Configuration config = new Configuration();
		try {
			//URL path = FreeMarkerTest.class.getResource("");
			String path = new File("").getAbsolutePath();
			config.setDirectoryForTemplateLoading(new File(path));
			config.setObjectWrapper(new DefaultObjectWrapper());
			
			Template template = config.getTemplate("test.ftl","UTF-8");
			//创建数据模型
			Map root = new HashMap();
			List<User> users = new ArrayList<User>();
			User u1 = new User();
			u1.setId("123");
			u1.setName("王五");
			users.add(u1);
			User u2 = new User();
			u2.setId("2345");
			u2.setName("张三");
			
			User u3 = new User();
			u3.setId("fgh");
			u3.setName("李四");
			users.add(u2);
			users.add(u3);
			
			root.put("userList", users);
			Map product = new HashMap();
			root.put("lastProduct", product);
			product.put("url", "http://www.baidu.com");
			product.put("name", "green hose");
			File file = new File(path + "\\test.html");
			if(!file.exists()){
				//System.out.println("file exist");
				file.createNewFile();
			}
			Writer out = new BufferedWriter(new FileWriter(file));
			template.process(root, out);
			out.flush();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

User.java

package com.bijian.study.freemark;

public class User {

	private String id;
	private String name;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}

test.ftl

<html>
  <head>
    <title>Welcome!</title>
  </head>
  <body>
  	<#list userList as user>
    	<h1>Welcome ${user.name}!&nbsp;&nbsp;id:${user.id}</h1><br/>
    </#list>
    <p>Our latest product:
    <a href="${lastProduct.url}">${lastProduct.name}  </a>!
  </body>
</html>

工程目录结构:


运行FreeMarkerTest.java后,将在工程下生成一个test.html文件。文件内容如下:

<html>
  <head>
    <title>Welcome!</title>
  </head>
  <body>
  	    	<h1>Welcome 王五!&nbsp;&nbsp;id:123</h1><br/>
    	<h1>Welcome 张三!&nbsp;&nbsp;id:2345</h1><br/>
    	<h1>Welcome 李四!&nbsp;&nbsp;id:fgh</h1><br/>
    <p>Our latest product:
    <a href="http://www.baidu.com">green hose  </a>!
  </body>
</html>

浏览器打开test.html文件,效果如下:

 

文章来源:http://yonglailizhi.iteye.com/blog/656403#

  • 大小: 13.4 KB
  • 大小: 16 KB
分享到:
评论

相关推荐

    JFinal+Maven+FreeMarker入门实例

    在"JFinal+Maven+FreeMarker入门实例"中,我们将看到如何配置和使用这些工具。首先,我们需要在项目根目录下创建一个`pom.xml`文件,这是Maven项目的配置文件。在这里,我们需要列出所有依赖项,包括JFinal和...

    一个意义深刻 FreeMarker 入门例子之HelloWord

    本示例“一个意义深刻的FreeMarker入门例子之HelloWord”旨在帮助初学者理解并掌握FreeMarker的基本用法。 在Java Web开发中,FreeMarker与后端控制器如Servlet或Spring MVC中的Controller协同工作,允许开发者将...

    Freemarker入门实例

    在上述的Freemarker入门实例中,我们看到一个简单的`product.ftl`模板文件,其中包含HTML结构以及`${...}`包围的Freemarker表达式。这些表达式在运行时会被对应的数据模型中的值替换。例如,`${user}`和`${...

    freemarker入门实例(解决乱码eclipse/java/编码方式UTF-8)

    本实例将引导你入门Freemarker,解决在Eclipse环境下使用Java编译时可能出现的乱码问题,并确保使用UTF-8编码方式进行处理。 **1. Freemarker简介** Freemarker是一个基于模板的开源Java库,它与Spring MVC、Struts...

    freemarker入门文档及例子

    本入门文档结合实例,旨在帮助初学者快速理解并掌握Freemarker的基本用法。 一、Freemarker基本概念 1. 模板:Freemarker模板是纯文本文件,其中包含静态文本和控制结构,如条件语句和循环。它们用来生成最终输出。...

    FreeMarker入门之一:say hello world

    在这个“FreeMarker入门之一:say hello world”中,我们将探讨如何使用FreeMarker来创建一个简单的“Hello, World!”程序,了解其基本语法和工作原理。 1. **FreeMarker简介** FreeMarker是一个开源项目,由...

    Servlet + Freemarker 入门练习

    总结来说,"Servlet + Freemarker 入门练习"涉及以下几个关键知识点: 1. **Servlet**:Java 服务器端编程,处理 HTTP 请求,实现业务逻辑。 2. **Freemarker**:模板引擎,分离视图和逻辑,生成动态 HTML。 3. **...

    FreeMarker 简单的入门小小小小例子

    俗话说万事开头难,这句话对于我们程序员来说非常的适用,刚接触一门新的东西,...FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序

    FreeMarker入门指南API文档(中文版)

    本指南主要针对FreeMarker 2.3.23版本,提供详细的API文档和入门教程。 在开始之前,你需要了解FreeMarker的基本概念:模板(Template)和数据模型(Data Model)。模板是包含静态文本和变量的文件,变量会被数据...

    freemarker入门demo

    本教程将通过一个基础的"freemarker入门demo",帮助你理解Freemarker的工作原理和基本用法。 首先,让我们了解一下Freemarker模板语言(FTL)。FTL是Freemarker Template Language的缩写,它是一种声明式的标记语言...

    基于注解的springmvc 整合freemarker的入门例子

    这是一个基于eclipse+springmvc+freemarker+注解的入门例子,是一个war包,import到eclipse就应该可以直接运行,但是确保maven环境到存在;我做为一个入门者,是参照了...

    FreeMarker 快速入门 上手

    ### FreeMarker 快速入门与上手教程 #### 一、FreeMarker 概览 **FreeMarker** 是一款强大的模板引擎,主要用于生成文本输出。它适用于多种用途,如生成 HTML 页面、XML 数据、电子邮件等。FreeMarker 的一大特点...

    FreeMarker入门指南(详细指南见附件)

    在Java应用中,我们需要创建一个`Template`实例,加载模板文件,然后创建一个`Map`对象作为数据模型。最后,使用`Template`的`process`方法生成最终的输出。以下是一个简单的例子: ```java import freemarker....

    freemarker 中文文档-入门简介

    freemarker 中文文档,freemarker入门简介,含几个小实例

    freemarker 入门资料

    Freemarker是一款强大的模板引擎,主要用于生成动态HTML或其他文本格式的输出,尤其在Web开发中广泛应用。它与Java紧密集成,常被...通过深入学习提供的入门资料,你将能够熟练地掌握并运用Freemarker进行高效开发。

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

    ### FreeMarker实例教程知识点详解 #### 一、FreeMarker简介 **FreeMarker**是一款功能强大的模板引擎,主要用于生成文本输出,如HTML页面、电子邮件、配置文件等。它被广泛应用于Web开发领域,能够帮助开发者轻松...

    FreeMarker快速入门.doc

    ### FreeMarker 快速入门详解 #### 一、FreeMarker 概述 FreeMarker 是一个用 Java 编写的模板引擎,它支持动态网页的生成,同时也适用于任何纯文本格式的输出生成,例如 XML 和电子邮件等。FreeMarker 的设计初衷...

    freeMarker入门学习

    在本入门学习中,我们将探讨FreeMarker的基本概念、语法以及如何在实际项目中使用它。 首先,FreeMarker是一个开源项目,它的核心思想是分离业务逻辑和视图展示,让开发者可以专注于数据处理,而设计师则关注页面...

    freemarker 入门解析

    本篇文章将深入探讨Freemarker的基础知识,帮助你快速入门。 1. **Freemarker简介** Freemarker是一个开源的、基于Java的模板引擎,它能够根据数据模型生成动态HTML或其他文本格式的输出。其工作原理是,将预先...

    freemarker 例子

    最近比较折腾,项目里需要用到静态化,于是就抽时间学习了一下。使用main方法执行,对于刚学习的人来说非常合适的例子。

Global site tag (gtag.js) - Google Analytics