Template 实体有个setEncoding()方法,Configuration 实体有个 setDefaultEncoding() 方法,文件流也能设置编码。
例如:
File file = new File(e:/freemarkers/);
Configuration cfg = new Configuration();
cfg.setDirectoryForTemplateLoading(file);
cfg.setDefaultEncoding(UTF-8);
Template template = cfg.getTemplate(test.ftl);
template.setEncoding(UTF-8);
FileOutputStream fos= new FileOutputStream(e:/htmls/test.html);
OutputStreamWriter osw =new OutputStreamWriter(fos, UTF-8);
BufferedWriter bw =new BufferedWriter(osw, 1024);
MapString,Object tagMap = new HashMapString, Object();
template.process(tagMap, bw);
bw.flush();
bw.close();
取消
评论