Servlet中使用Freemarker案例

来源:互联网 发布:视频人脸识别软件 编辑:程序博客网 时间:2024/06/03 18:15

首先需要引入 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) {        }    }}