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"); } }