- 模板存放路径问题
//通过以下这种方式只能获取resources目录下的模板文件 FreeMarkerConfiguration.getConfiguration().getTemplate(templatePath); //通过以下方式,可以指定盘符的路径获取模板文件 fileTemplateLoader = new FileTemplateLoader(new File(tmpPath)); Configuration configuration = freeMarkerConfiguration.getConfiguration(); configuration.setTemplateLoader(fileTemplateLoader); template = configuration.getTemplate(templateName);
- 模板数据模型问题
freemarker模板包含多种参数,如String,List等,此时需要通过
Configuration.setObjectWrapper(new DefaultObjectWrapper(Configuration.VERSION_2_3_0));
主动设置ObjectWrapper,使freemarker能够识别如Map<String,Object>这种数据结构的模 型,否则,通过以下这种方式直接绑定数据解析模板会出现类型转换错误(Object to String)
FreeMarkerTemplateUtils.processTemplateIntoString(template, map);