05 Spring Boot整合 FreeMaker模板引擎

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


<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:启动服务,访问
05 Spring Boot整合 FreeMaker模板引擎_第1张图片

你可能感兴趣的:(springboot总结)