FreeMarker配置與應用

FreeMarker 2.3.18 下載: html

http://sourceforge.net/projects/freemarker/files/freemarker/2.3.18/freemarker-2.3.18.tar.gz/download java

FreeMarker 2.3.18 API:http://freemarker.sourceforge.net/docs/api/ web


下面演示一個簡單的使用項目過程:
api

1. 使用myeclipse建立一個web項目testFM 瀏覽器

 

2. 把下載到的jar包(freemarker-2.3.18.jar)放到\WebRoot\WEB-INF\lib目錄下。 tomcat

下載地址:http://freemarker.sourceforge.net/freemarkerdownload.html (注:官方網站.org的常常打不開) app

3. 在WebRoot下面新建templates文件包,而後在裏面新建擴展名爲ftl的模板。


    a) 建立hello.ftl內容以下: eclipse

<html>
<head>
  <title>hello!</title>
</head>
<body>
  <h1>hello ${user}!</h1>
</body>
</html>
4. 在src目錄下建立example包 和Hello.java文件,代碼以下:


package example;
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","zdz");
    //取得模版文件
    Template t =cfg.getTemplate("hello.ftl"); 
    // FreeMarker會到系統的/WebRoot/templates/目錄下找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>example.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.在WebRoot下面新建引導頁面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.把testFM項目部署到tomcate並啓動服務。 ui


8.打開瀏覽器,輸入地址:http://localhost:8080/testFM/

相關文章
相關標籤/搜索