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}! 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 王五! id:123</h1><br/> <h1>Welcome 张三! id:2345</h1><br/> <h1>Welcome 李四! 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#
相关推荐
在"JFinal+Maven+FreeMarker入门实例"中,我们将看到如何配置和使用这些工具。首先,我们需要在项目根目录下创建一个`pom.xml`文件,这是Maven项目的配置文件。在这里,我们需要列出所有依赖项,包括JFinal和...
本示例“一个意义深刻的FreeMarker入门例子之HelloWord”旨在帮助初学者理解并掌握FreeMarker的基本用法。 在Java Web开发中,FreeMarker与后端控制器如Servlet或Spring MVC中的Controller协同工作,允许开发者将...
在上述的Freemarker入门实例中,我们看到一个简单的`product.ftl`模板文件,其中包含HTML结构以及`${...}`包围的Freemarker表达式。这些表达式在运行时会被对应的数据模型中的值替换。例如,`${user}`和`${...
本实例将引导你入门Freemarker,解决在Eclipse环境下使用Java编译时可能出现的乱码问题,并确保使用UTF-8编码方式进行处理。 **1. Freemarker简介** Freemarker是一个基于模板的开源Java库,它与Spring MVC、Struts...
本入门文档结合实例,旨在帮助初学者快速理解并掌握Freemarker的基本用法。 一、Freemarker基本概念 1. 模板:Freemarker模板是纯文本文件,其中包含静态文本和控制结构,如条件语句和循环。它们用来生成最终输出。...
在这个“FreeMarker入门之一:say hello world”中,我们将探讨如何使用FreeMarker来创建一个简单的“Hello, World!”程序,了解其基本语法和工作原理。 1. **FreeMarker简介** FreeMarker是一个开源项目,由...
总结来说,"Servlet + Freemarker 入门练习"涉及以下几个关键知识点: 1. **Servlet**:Java 服务器端编程,处理 HTTP 请求,实现业务逻辑。 2. **Freemarker**:模板引擎,分离视图和逻辑,生成动态 HTML。 3. **...
俗话说万事开头难,这句话对于我们程序员来说非常的适用,刚接触一门新的东西,...FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序
本指南主要针对FreeMarker 2.3.23版本,提供详细的API文档和入门教程。 在开始之前,你需要了解FreeMarker的基本概念:模板(Template)和数据模型(Data Model)。模板是包含静态文本和变量的文件,变量会被数据...
本教程将通过一个基础的"freemarker入门demo",帮助你理解Freemarker的工作原理和基本用法。 首先,让我们了解一下Freemarker模板语言(FTL)。FTL是Freemarker Template Language的缩写,它是一种声明式的标记语言...
这是一个基于eclipse+springmvc+freemarker+注解的入门例子,是一个war包,import到eclipse就应该可以直接运行,但是确保maven环境到存在;我做为一个入门者,是参照了...
### FreeMarker 快速入门与上手教程 #### 一、FreeMarker 概览 **FreeMarker** 是一款强大的模板引擎,主要用于生成文本输出。它适用于多种用途,如生成 HTML 页面、XML 数据、电子邮件等。FreeMarker 的一大特点...
在Java应用中,我们需要创建一个`Template`实例,加载模板文件,然后创建一个`Map`对象作为数据模型。最后,使用`Template`的`process`方法生成最终的输出。以下是一个简单的例子: ```java import freemarker....
freemarker 中文文档,freemarker入门简介,含几个小实例
Freemarker是一款强大的模板引擎,主要用于生成动态HTML或其他文本格式的输出,尤其在Web开发中广泛应用。它与Java紧密集成,常被...通过深入学习提供的入门资料,你将能够熟练地掌握并运用Freemarker进行高效开发。
### FreeMarker实例教程知识点详解 #### 一、FreeMarker简介 **FreeMarker**是一款功能强大的模板引擎,主要用于生成文本输出,如HTML页面、电子邮件、配置文件等。它被广泛应用于Web开发领域,能够帮助开发者轻松...
### FreeMarker 快速入门详解 #### 一、FreeMarker 概述 FreeMarker 是一个用 Java 编写的模板引擎,它支持动态网页的生成,同时也适用于任何纯文本格式的输出生成,例如 XML 和电子邮件等。FreeMarker 的设计初衷...
在本入门学习中,我们将探讨FreeMarker的基本概念、语法以及如何在实际项目中使用它。 首先,FreeMarker是一个开源项目,它的核心思想是分离业务逻辑和视图展示,让开发者可以专注于数据处理,而设计师则关注页面...
本篇文章将深入探讨Freemarker的基础知识,帮助你快速入门。 1. **Freemarker简介** Freemarker是一个开源的、基于Java的模板引擎,它能够根据数据模型生成动态HTML或其他文本格式的输出。其工作原理是,将预先...
最近比较折腾,项目里需要用到静态化,于是就抽时间学习了一下。使用main方法执行,对于刚学习的人来说非常合适的例子。