FreeMaker介绍:FreeMarker是一个非常古老的模板引擎,与Thymeleaf不同,FreeMarker需要经过解析才能够在浏览器中展示出来。FreeMarker不仅可以用来配置HTML页面模板,也可以作为电子邮件模板,配置文件模板以及源码模板等。
可到FreeMaker官网学习:https://freemarker.apache.org/
Spring Boot对FreeMarker也提供很好的支持。主要整合步骤如下:
步骤1:添加依赖
<!-- 引入freemarker 模板引擎 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
步骤2:(可不配置)在application.properties 文件中添加FreeMaker 配置,常见配置如下:
### FreeMarker
#是否开启缓存
spring.freemarker.cache=false
#模板文件编码
spring.freemarker.charset=UTF-8
#模板文件后缀
spring.freemarker.suffix=ftl
步骤3:开发控制器 (创建Book实体类,然后在Controller中返回 ModelAndView)。
public class Stu {
private Integer stuId;
private String stuName;
private String stuPassword;
//省略get/set
@Controller
public class BookController {
@GetMapping("/books")
public ModelAndView books() {
ArrayList<Book> books = new ArrayList<>();
Book b1 = new Book();
b1.setId(1);
b1.setName("三国演义");
b1.setAuthor("罗贯中");
books.add(b1);
Book b2 = new Book();
b2.setId(2);
b2.setName("设计模式详解");
b2.setAuthor("小风");
books.add(b2);
ModelAndView mv = new ModelAndView();
mv.addObject("books", books);
mv.setViewName("books");
return mv;
}
}
步骤4:创建视图,在resources目录下的templates目录中创建books.ftl
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>图书列表</title>
</head>
<body>
<table border="1">
<tr>
<td>图书编号</td>
<td>图书名称</td>
<td>图书作者</td>
</tr>
<#if books ??&& (books?size>0)>
<#list books as book>
<tr>
<td>${book.id}</td>
<td>${book.name}</td>
<td>${book.author}</td>
</tr>
</#list>
</#if>
</table>
</body>
</html>
步骤5:启动服务,访问