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/

相关文章
相关标签/搜索