
1.模板写法:
<html>
<head>
<title>freemarker测试</title>
</head>
<body>
<#list mylist as item>
${item.name!}----------
${item.password!}-------
${item.sex!}----------
${item.photo!}-----------<br/>
</#list>
</body>
</html>
2.java代码
package servlet; import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
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 bean.TestFreemarkerBean;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException; @SuppressWarnings("serial")
@WebServlet("/hello")
public class hello extends HttpServlet {
// 负责管理FreeMarker模板的Configuration实例
private Configuration cfg = null; public void init() throws ServletException {
// 创建一个FreeMarker实例
cfg = new Configuration();
// 指定FreeMarker模板文件的位置
cfg.setServletContextForTemplateLoading(getServletContext(), "/WEB-INF/templates");
} @SuppressWarnings("unchecked")
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 建立数据模型
Map<String,Object> root = new HashMap();
/*root.put("message", "第一个入门程序");
root.put("name", "freemarker");*/
List<TestFreemarkerBean> list = new ArrayList<>();
list.add(new TestFreemarkerBean("乔治", "123456", "男", "wwwwwwww"));
list.add(new TestFreemarkerBean("乔治", "123456", "男", "wwwwwwww"));
list.add(new TestFreemarkerBean("乔治", "123456", "男", "wwwwwwww"));
list.add(new TestFreemarkerBean("乔治", "123456", "男", "wwwwwwww"));
list.add(new TestFreemarkerBean("乔治", "123456", "男", "wwwwwwww"));
list.add(new TestFreemarkerBean("乔治", "123456", "男", "wwwwwwww"));
list.add(new TestFreemarkerBean("乔治", "123456", "男", "wwwwwwww"));
list.add(new TestFreemarkerBean("乔治", "123456", "男", "wwwwwwww"));
list.add(new TestFreemarkerBean("乔治", "123456", "男", "wwwwwwww"));
list.add(new TestFreemarkerBean("乔治", "123456", "男", "wwwwwwww"));
root.put("mylist", list);
// 获取模板文件
Template t = cfg.getTemplate("test.ftl"); // 使用模板文件的Charset作为本页面的charset
// 使用text/html MIME-type
response.setContentType("text/html; charset=" + t.getEncoding());
Writer out = response.getWriter();
// 合并数据模型和模板,并将结果输出到out中
try {
// t.process(list, out); // 往模板里写数据
// request.setAttribute("mylist", list);
t.process(root, out); // 往模板里写数据
} catch (Exception e) {
e.printStackTrace();
}
} public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
} public void destroy() {
super.destroy();
}
}
3.测试结果:
aaarticlea/png;base64,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" alt="" />