Jar包下载:https://pan.baidu.com/s/1_kkZCyF-2Gm38jwg_E7t7g 密码:6tkl
applicationContext.xml(Spring配置文件):
<?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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd">
<!-- 配置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>
</beans>
HtmlGenController.java(SpringMVC的Controller,通过Freemarker生成静态页面):
package cn.xxx.controller;
import java.io.File;
import java.io.FileWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;
import freemarker.template.Configuration;
import freemarker.template.Template;
//生成静态页面测试Controller
@Controller
public class HtmlGenController {
@Autowired
//注入freeMarkerConfigurer
private FreeMarkerConfigurer freeMarkerConfigurer;
@RequestMapping("/genhtml")
@ResponseBody
public String genHtml() throws Exception {
Configuration configuration = freeMarkerConfigurer.getConfiguration();
//加载模板对象
Template template = configuration.getTemplate("hello.ftl");
//创建一个数据集
Map data = new HashMap<>();
data.put("hello", 123456);
//指定文件输出的路径及文件名
Writer out = new FileWriter(new File("D:/freemarker/hello.html"));
//输出文件
template.process(data, out);
//关闭流
out.close();
return "OK";
}
}
WEB-INF/ftl/hello.ftl(模板文件):
${hello}