`

freemarker实例

阅读更多

下面详细讲解一个简单使用freemarker的项目过程:

1. 使用Eclipse创建一个web项目FreeMarker

2. 把下载到的jar包(freemarker-2.3.1.jar)放到/WebContent/WEB-INF/lib目录下。下载地址:http://www.findjar.com/jar/freemarker/freemarker/2.3.1/freemarker-2.3.1.jar.html(注:官方网站.org的经常打不开)

3. 在WebContent下面新建templates文件包,然后在里面新建扩展名为ftl的模板

创建hello.ftl内容如下:

<html>
<head>
	<title>hello!</title>
</head>
<body>
	<h1>hello ${user}!</h1>
</body>
</html>

4. 在src目录下创建com.bijian.study.freemarker包和Hello.java文件,代码如下:

package com.bijian.study.freemarker;

import java.io.*;
import java.util.*;

import javax.servlet.ServletException;
import javax.servlet.http.*;

import freemarker.template.*;

public class Hello extends HttpServlet {
	
	private Configuration cfg;

	public void init() {
		// 初始化FreeMarker配置
		// 创建一个Configuration实例
		cfg = new Configuration();
		// 设置FreeMarker的模版文件位置
		cfg.setServletContextForTemplateLoading(getServletContext(),"templates");
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		// 建立数据模型
		Map root = new HashMap();
		// 放入对应数据key value
		root.put("user", "iteye");
		// 取得模版文件
		Template t = cfg.getTemplate("hello.ftl");
		// 开始准备生成输出
		// 使用模版文件的charset作为本页面的charset
		// 使用text/html MIME-type
		response.setContentType("text/html; charset=" + t.getEncoding());
		PrintWriter out = response.getWriter();

		// 合并数据模型和模版,并将结果输出到out中
		try {
			t.process(root, out);// 用模板来开发servlet可以只在代码里面加入动态的数据
		} catch (TemplateException e) {
			throw new ServletException("处理Template模版中出现错误", e);
		}
	}
}

5. 配置web.xml 代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	<servlet>
		<servlet-name>Hello</servlet-name>
		<servlet-class>com.bijian.study.freemarker.Hello</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>Hello</servlet-name>
		<url-pattern>*.do</url-pattern>
	</servlet-mapping>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
	</welcome-file-list>
</web-app>

6. 在WebContent下面新建引导页面index.html,代码如下:

<html>
<head>
<title>Hello FreeMarker Example</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
</head>
<body>
	点击下面链接看看效果:
	<hr>
	<a href="hello.do">调用Hello模板</a>
</body>
</html>

7. 把FreeMarker项目部署到tomcate并启动服务。

8. 打开浏览器,输入地址:http://localhost:8088/FreeMarker/

9. 点击调用Hello模板链接,如果出现hello iteye!则说明模板调用成功了!

 

附工程的结构:

 

文章来源:http://blog.csdn.net/oyzl68/article/details/6532117

  • 大小: 13 KB
  • 大小: 10 KB
  • 大小: 20.2 KB
分享到:
评论

相关推荐

    freemarker 实例

    spring MVC + freemarker 实例 spring MVC + freemarker 实例 spring MVC + freemarker 实例 spring MVC + freemarker 实例

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

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

    Struts2 和freemarker实例

    在"Struts2 和freemarker实例"中,我们可能会学习到以下知识点: 1. **Struts2的基础概念**:理解Struts2的架构,包括Action、Result、Interceptor等核心组件的作用和配置。 2. **配置Struts2**:如何在struts.xml...

    freemarker 实例源代码

    3. **Freemarker实例创建** - 创建`Configuration`对象,设置模板加载路径和配置项。 - 加载模板文件,如`Template template = configuration.getTemplate("template.ftl");` - 创建数据模型,如`Map, Object&gt; ...

    Freemarker 实例,Freemarker 实例

    下面将详细介绍Freemarker的核心概念、配置、语法以及常见使用场景。 **1. Freemarker核心概念** - **模板(Templates)**:Freemarker的核心是模板文件,它定义了页面的布局和样式,包含变量和控制结构。 - **数据...

    struts2.0+freemarker实例.rar

    在给定的`struts2.0+freemarker实例.rar`中,可能包含了一个简单的Web应用示例,展示了如何集成Struts2.0和FreeMarker进行开发。可能包括Action类、FreeMarker模板文件以及Struts2的配置文件。通过解压并运行这个...

    java生成静态页面——Freemarker实例教程.docx

    ### Java生成静态页面——Freemarker实例教程 #### 一、Freemarker简介 Freemarker是一款基于模板的通用工具,它可以嵌入到各种应用程序中,帮助开发者将动态数据渲染成HTML、XML或其他文本格式的文件。对于提高...

    freemarker实例下载

    综上所述,"freemarker实例下载"提供了一个实用的教程,涵盖了Freemarker的基础用法、与Spring的整合以及如何部署和运行。通过学习和实践这个实例,开发者可以更好地理解和掌握Freemarker在实际项目中的应用。

    FreeMarker实例

    与JSP相比,FreeMarker更加专注于模板处理,不涉及Java代码,因此在复杂页面渲染和模板复用方面具有优势。 FreeMarker的工作原理是通过读取预先定义的模板文件,结合后台提供的数据模型,生成最终的输出文本。模板...

    freemarker实例,真实

    这个实例是一个不依赖数据库、使用相对路径生成文件的基础示例,非常适合初学者了解和学习Freemarker的基本用法。 1. **Freemarker简介** Freemarker是一个开源的模板语言,它与编程语言解耦,允许开发者将业务...

    freeMarker简单实例

    下面将深入探讨FreeMarker的基本概念、工作原理以及如何创建一个简单的实例。 1. **基本概念** - **模板(Template)**: 模板是FreeMarker的核心,它是HTML或XML等静态文件,其中包含特定的FreeMarker指令和变量,...

    Spring使用Druid整合JdbcTemplate与FreeMarker实例 下载

    使用Spring JdbcTemplate+Druid数据源+FreeMarker 开发的代码生成器。 您可以根据自己的实际,修改一下FreeMarker的模版文件,直接按目录生成Java代码。 生成了就能用,节省大量重复工作的时间。 您也可以用来学习...

    Maven2项目集成springmvc,spring3,ibatis和freemarker实例

    本实例" Maven2项目集成springmvc, spring3, ibatis和freemarker"提供了一个完整的解决方案,旨在帮助开发者快速搭建基于这些技术的Web应用程序。以下是这些技术的详细说明和集成过程。 **Maven2**: Maven是一款...

    freemarker简单实例

    freemarker简短易懂的工具类

    freemarker+struts2.0 实例20090309.rar

    这个"freemarker实例20090309"项目包含了一个完整的MyEclipse Web工程,可以直接运行。在运行前,确保已正确配置了Tomcat服务器,并将项目部署到服务器上。启动服务器,访问项目中的某个Action,Struts2.0会处理...

    SpringBoot中整合freemarker示例代码

    本文将详细介绍如何在Spring Boot项目中集成Freemarker,并通过示例代码进行讲解。 首先,我们需要在项目的`pom.xml`文件中添加对`spring-boot-starter-freemarker`的依赖: ```xml &lt;groupId&gt;org.spring...

    grails使用freemarker.rar

    标题中的“grails使用freemarker.rar”表明这是一个关于如何在Grails框架中应用FreeMarker模板引擎的资源包。FreeMarker是一个开源的、基于Java的模板引擎,它用于生成动态HTML或其他格式的文本,比如XML、PDF等。...

    freemarker 例子

    在本示例中,我们将深入探讨Freemarker的基础用法、核心概念以及如何创建一个简单的Freemarker示例。 **一、Freemarker基本概念** 1. **模板(Templates)**: 模板是Freemarker的核心,它包含静态文本和动态占位符...

    struts2+hibernate+freemarker项目实例

    这个"struts2+hibernate+freemarker"项目实例是将这三个框架集成到一起,构建了一个完整的Web应用程序。 **Struts2** 是一个强大的MVC框架,它基于Action和Result的设计模式,负责处理用户的请求,并将其转发到相应...

Global site tag (gtag.js) - Google Analytics