jar:
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
</dependency>
springmvc配置文件中添加:、
templateLoaderPath:模板文件路径
defaultEncoding:默认编码
<!-- 配置freemarker -->
<bean id="freemarkerConfig"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath" value="/WEB-INF/ftl/" />
<property name="defaultEncoding" value="UTF-8" />
</bean>
模板文件hello.ftl:
(hello模板)${hello}
Controller:
@Autowired
private FreeMarkerConfigurer freeMarkerConfigurer;
@RequestMapping("getHtm")
@ResponseBody
public String getHtml() throws Exception{
// 1、从spring容器中获得FreeMarkerConfigurer对象。
// 2、从FreeMarkerConfigurer对象中获得Configuration对象。
Configuration configuration = freeMarkerConfigurer.getConfiguration();
// 3、使用Configuration对象获得Template对象。
Template template = configuration.getTemplate("hello.ftl");
// 4、创建数据集
Map dataModel = new HashMap<>();
dataModel.put("hello", "spring-freemarkerTest");
// 5、创建输出文件的Writer对象。
Writer out = new FileWriter(new File("D:/freemarker/spring-freemarker-hello.html"));
// 6、调用模板对象的process方法,生成文件。
template.process(dataModel, out);
// 7、关闭流。
out.close();
return "OK";
}
效果: