使用FreeMarker生成静态页面,解决中文乱码问题源码

来源:互联网 发布:中振袖和服价格知乎 编辑:程序博客网 时间:2024/06/05 11:56

 Map<String,Object> root=new HashMap<String, Object>();
  CrateInfoService crateInfoService=new CrateInfoService();
  crateInfo=crateInfoService.getCrateInfoById(26);
  root.put("crateInfo",crateInfo);
  Configuration cfg=new Configuration();
  cfg.setDirectoryForTemplateLoading(new File(ServletActionContext.getServletContext()
    .getRealPath("/WEB-INF/templates")));             获取模板的文件位置
   cfg.setEncoding(Locale.CHINA,"UTF-8");            中文乱码问题
  Template t = cfg.getTemplate("book.ftl");          
  File  file=new File(ServletActionContext.getServletContext()
    .getRealPath("/html/"+"book.shtm"));                  生成静态页面的存放位置
  FileOutputStream fileOutputStream=new FileOutputStream(file);
  OutputStreamWriter out=new OutputStreamWriter(fileOutputStream,"UTF-8");
  BufferedWriter bufferedWriter=new BufferedWriter(out);
  t.process(root,out);
  bufferedWriter.flush();
  bufferedWriter.close();

原创粉丝点击