springboot Freemarker 集成

pom.xml文件添加依赖:
org.freemarker
freemarker
        2.3.23

 新建一个Test case:
@Test
public void testFreemarker() throws Exception {
//1:创建一个模板文件
//2:创建一个Configuration对象
Configuration configuration = new Configuration(Configuration.getVersion());
//3:设置模板所在的路径
configuration.setDirectoryForTemplateLoading(new File("D:/workspace/other/taotao/taotao-item-web/src/main/webapp/WEB-INF/ftl/"));
//4:设置模板的字符集,一般UTF-8
configuration.setDefaultEncoding("UTF-8");
//5:使用Configuration对象加载一个模板文件,需要指定模板文件的文件名
Template template = configuration.getTemplate("hello.ftl");
//6:创建一个数据集,可以是POJO或者Map,推荐使用Map
Map data = new HashMap<>();
data.put("hello", "hello freemarker");
//7:创建一个Writer对象,指定输出文件的路径及文件名
File outDir = new File("d:/data/freemarker/out");
if(!outDir.exists()) {
outDir.mkdirs();
}
Writer out = new FileWriter(new File("d:/data/freemarker/out/hello.text"));
//8:使用模板对象的process方法输出文件
template.process(data, out);
//9:关闭流
out.close();
}


===================================================================================

/**
* 字符串模板转换
* @param data
*            数据对象
* @param template
*            字符串模板
* @return 字符串带数据的视图
* @throws Exception
*/
public static String getString(Object data, String template) throws Exception {
StringWriter result = new StringWriter();
template = template.replaceAll("\\|n\\|", "\n");
Template t = new Template("name1", new StringReader(template),new Configuration(Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS));
t.process(data, result);
return result.toString();
}

 
=====================================================================================

你可能感兴趣的:(经验总结)