Servlet与FreeMarker整合

Servlet编写

package  com.s2freemarker.exer.web.servlet;   
  
import  java.io.IOException;   
import  java.io.Writer;   
import  java.util.HashMap;   
import  java.util.Map;   
  
import  javax.servlet.ServletException;   
import  javax.servlet.http.HttpServlet;   
import  javax.servlet.http.HttpServletRequest;   
import  javax.servlet.http.HttpServletResponse;   
  
import  freemarker.template.Configuration;   
import  freemarker.template.Template;   
import  freemarker.template.TemplateException;   
  
public   class  FreemarkerServlet  extends  HttpServlet {   
  
     /**  
     *   
     */   
     private   static   final   long  serialVersionUID = 5495454566664178949L;   
       
     private  Configuration config;   
  
     public   void  doGet(HttpServletRequest request, HttpServletResponse response)   
             throws  ServletException, IOException {   
         this .doPost(request, response);   
    }   
  
       
     public   void  doPost(HttpServletRequest request, HttpServletResponse response)   
             throws  ServletException, IOException {   
           
        Map<Object , Object> root =  new  HashMap<Object,Object>();   
        root.put( "message" ,  "Hello FreeMarker" );   
           
        Template t = config.getTemplate( "test.ftl" );   
           
        response.setContentType( "text/html;charset=" +t.getEncoding());   
           
        Writer out = response.getWriter();   
           
         try  {   
            t.process(root, out);   
        }  catch  (TemplateException e) {   
             throw   new  ServletException( "Handle template error !" ,e);   
        }   
    }   
  
     /**  
     * Initialization of the servlet. <br>  
     *  
     * @throws ServletException if an error occurs  
     */   
     public   void  init()  throws  ServletException {  
      //获得模板上下文 
      config =  new  Configuration();   
      config.setServletContextForTemplateLoading(getServletContext(),  "WEB-INF\\templates" );   
    }   
  
}  

 

ftl 模板编写 test.ftl

 

 
<html>   
    <head><title>FreeMarker</title></head>   
    <body>   
        ${message}   
    </body>   
</html>  

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值