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/

freemarker实例

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

freemarker实例

 

附工程的结构:

freemarker实例

 

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

你可能感兴趣的:(java,freemarker,Web)