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