package com;
import java.io.File;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
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;
@WebServlet(name="ftl1",urlPatterns="/ftl1")
public class FTL1Servlet extends HttpServlet {
protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
//加载配置文件
Configuration cfg=new Configuration();
cfg.setDirectoryForTemplateLoading(new File("F:\\CODE\\test.my\\src\\main\\java\\template"));
String ftl="ftl1.html";
//获取模板
Template t1=cfg.getTemplate(ftl);
//加载数据
Map root=this.getRootMap();
Writer writer=new OutputStreamWriter(response.getOutputStream());
try {
t1.process(root, writer);
} catch (TemplateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
writer.flush();
writer.close();
}
protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
doGet(request,response);
}
private Map getRootMap(){
Map root=new HashMap();
root.put("user", "Big Joe");
Map latest=new HashMap();
root.put("lastestProduct", latest);
latest.put("url", "products/greenmouse.html");
latest.put("name", "green mouse");
//加载底层数据
Map level1=new HashMap();
level1.put("name", "Little people");
Map level2=new HashMap();
level2.put("name", level1);
Map level3=new HashMap();
level3.put("name", level2);
root.put("manylevel", level3);
Set set=new TreeSet();
set.add(1);
set.add(2);
set.add(11);
set.add(5);
set.add(1);
set.add(1);
set.add(1);
System.out.println("set="+set);
root.put("set1", set);
//List
ArrayList list=new ArrayList();
list.add(5);
list.add(1);
list.add(4);
list.add(5);
list.add(5);
list.add(5);
System.out.println("list="+list);
root.put("l", list);
//数组
String[] sarr=new String[]{"一","四","三"};
root.put("sarr", sarr);
return root;
}
}