Servlet中使用Freemarker案例

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

        }

    }


}
發佈了60 篇原創文章 · 獲贊 38 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章