Spring Boot 集成 Freemarker
spring boot 集成 freemarker 的简单使用
使用freemarker生成word文件
目录
1. spring boot集成freemarker
1.1 添加依赖
maven项目 pom.xml
<!-- spring boot web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- spring boot 集成 freemarker -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
1.2 配置freemarker
application.yml文件
server:
port: 8080
servlet:
context-path: /
#freemarker的配置
spring:
freemarker:
cache: false
charset: UTF-8
content-type: text/html; charset=utf-8
prefix: /
suffix: .html
freemarker 默认模板文件后缀为 .ftl,并且默认的模板存放路径为:resources/templates
1.3 控制器访问页面
@Controller
public class IndexController {
@GetMapping("/index")
public ModelAndView index() {
ModelAndView view = new ModelAndView("index");
view.addObject("user", "Tom");
return view ;
}
}
1.4 页面
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>首页</title>
</head>
<body>
INDEX | templates index
<h3>hello ${user}</h3>
</body>
</html>
路径在:resources/template/index.html
1.5 访问请求
http://localhost:8080/index
界面展示如下:
2. freemarker实现生成word文件
freemarker通过模板可以生成work文件
2.1 制作word模板
首先使用word编辑工具(office / WPS),新建word模板,根据实际情况制定模板,模拟如下:
变量地方采用freemarker语法 ${} 来代替,变量名称需要跟具体实际情况一致
2.2 word模板转xml文件
word模板制作完成后,使用word编辑器 另存为 xml文件
文件 -> 另存为 -> Word XML 文档(*.xml)
使用编辑器打开xml文件,查看 模板文件中定义的变量是否正确
有时候转成XML文件后,${变量名} 分开了,则需要手动填写在一起
如是还需要使用 freemarker的其他复杂的标签语法,则需要对XML文件内容进行修改
比如:本模拟实例中,课程成绩是一个数组,则需要去进行修改XML文件内容,采用freemarker的 数组遍历语法 <#list>
<!--
针对课程成绩是多个,需要修改XML内容文件
使用freemarker的遍历数组的语法 <#list >
-->
<#list courses as c>
<w:tr>
<w:tblPrEx>
<w:tblBorders>
<w:top w:val="single" w:color="auto" w:sz="4" w:space="0" />
<w:left w:val="single" w:color="auto" w:sz="4"
w:space="0" />
<w:bottom w:val="single" w:color="auto" w:sz="4"
w:space="0" />
<w:right w:val="single" w:color="auto" w:sz="4"
w:space="0" />