com.velocity.servlet

package com.velocity.servlet;



import java.io.IOException;

import java.util.ArrayList;

import java.util.LinkedHashMap;

import java.util.List;

import java.util.Map;



import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;



import org.apache.velocity.Template;

import org.apache.velocity.context.Context;

import org.apache.velocity.tools.view.servlet.VelocityViewServlet;



import com.classpath.www.WebPath;

import com.domain.bean.TmpBean;

import com.ulitis.www.JUtils;





public class CustomerVelocityServlet extends VelocityViewServlet{



    

    //设置返回视图为text/html编码为gbk

    @Override

    protected void setContentType(HttpServletRequest request,

            HttpServletResponse response) {

        response.setHeader("Pragma","No-cache"); 

        response.setHeader("Cache-Control","no-cache"); 

        response.setDateHeader("Expires", 0); 

        String referer = request.getHeader("referer");

        if(referer == null){

            try {

                response.sendRedirect(request.getContextPath() + "/index.jsp");

            } catch (IOException e) {

                // TODO Auto-generated catch block

            }

            return;

        }

        response.setContentType("text/html;charset=UTF-8");

    }

    

    //处理请求

    @Override

    protected Template handleRequest(HttpServletRequest request,

            HttpServletResponse response, Context ctx) throws Exception {

        

        LinkedHashMap<String,String> map = new LinkedHashMap<String,String>();

        TmpBean tpb = (TmpBean)request.getSession().getAttribute("tpb");

        map=(LinkedHashMap<String, String>) tpb.getVarMap();

        for (Map.Entry<String, String> entry : map.entrySet()){

            String key = entry.getKey();

            String value = entry.getValue();

             ctx.put(key, value);

        }

        

       // String filename = WebPath.getAbsolutePathWithWebProject(request)+"WEB-INF\\inputfile\\specLayout.txt";

        String filename = WebPath.getAbsolutePathWithWebProject(request)+"WEB-INF\\vminclude\\specLayout.txt";

        JUtils.write(filename, tpb.getMscript());

       

        //调用父类的方法getTemplate()

        return getTemplate("demo.vm", "UTF-8");

    }

    

}

 

你可能感兴趣的:(velocity)