<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!--<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/templates/" />
<property name="suffix" value=".ftl" />
</bean>-->
<mvc:annotation-driven />
<context:component-scan base-package="com.bingco" />
<!--配置freemarker视图解析器 -->
<bean id="freemarkerConfig"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath" value="/WEB-INF/templates/" />
</bean>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="suffix" value=".ftl" />
<property name="contentType" value="text/html; charset=UTF-8" />
</bean>
</beans>
这是单独使用的Demo:
@GetMapping("/getHtml")
public String method2() throws IOException, TemplateException {
Configuration configuration = new Configuration(Configuration.VERSION_2_3_22);
configuration.setDirectoryForTemplateLoading(Paths.get(templates_path + File.separator).toFile());
configuration.setDefaultEncoding("UTF-8");
configuration.setTemplateExceptionHandler(TemplateExceptionHandler.DEBUG_HANDLER);
String tempName = "test.ftl";
Template template = configuration.getTemplate(tempName);
Map<String, Object> map = new HashMap<>();
map.put("message", "Hello World Java !");
File file = new File("D:/temp/" + tempName.substring(0, tempName.indexOf(".") + 1) + "html");
if (!file.exists()) {
try (Writer out = new OutputStreamWriter(
new FileOutputStream(file))) {
template.process(map, out);
out.flush();
System.out.println("\t-- over --");
}
}
return "redirect:/index.jsp";
}