1.引入freemarker jar包,注意要把jar包放到lib中,否则启动报错
2.编写模版文件 方括号低版本的不支持
3.编写处理模板的servlet
private Configuration _config;
public void init() {
// 初始化Freemarker配置
_config = new Configuration();
// 设置Freemarker模板文件的位置
_config.setServletContextForTemplateLoading(this.getServletContext(),
"templates");
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 数据
Map<String,Object> root = new HashMap<String,Object>();
root.put("author", "zcx");
List<String> hobbies = new ArrayList<String>();
hobbies.add("sing");
hobbies.add("dance");
hobbies.add("paint");
root.put("hobbies", hobbies);
// 获取模板
Template t = _config.getTemplate("test.ftl");
// 准备输出, 使用模板的编码作为本页的charset
response.setContentType("text/html; charset=" + t.getEncoding());
PrintWriter out = response.getWriter();
try {
// 在模板中加入动态数据
t.process(root, out);
} catch (freemarker.template.TemplateException e) {
throw new ServletException("处理Template模版中出现错误", e);
}
}
4.运行效果如下