首先需要引入 freemarker.jar 包文件 [ 点击下载]
下面我就直接把代码贴出来,需要注意的是引入的模板存放的目录路径
test.ftl 模板文件内容如下
<html>
<head>
<title>FreeMarker Example Web Application 1</title>
</head>
<body>
${message}
</body>
</html>
java代码如下
package demo;
import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import freemarker.template.*;
/**
* @author ZhouMengShun
*/
public class HelloServlet extends HttpServlet {
private Configuration cfg;
public void init() {
//创建FreeMarker配置实例
Configuration cfg = new Configuration();
//设置freemarker模板目录,如下 templates是 freemarker模板存放的目录径
cfg.setServletContextForTemplateLoading(getServletContext(),"WEB-INF/templates");
}
protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {
Map root = new HashMap();//创建数据模型
root.put("message", "Hello World!");//设置数据
//加载模板文件 fmdemo.ftl
Template t = cfg.getTemplate("test.ftl");
Writer out=new BufferedWriter(new OutputStreamWriter(resp.getOutputStream(), t.getEncoding()));
resp.setContentType("text/html; charset=" + t.getEncoding());
try {
t.process(root, out);
out.flush();
} catch (TemplateException e) {
}
}
}