1. 程式人生 > 程式設計 >SpringBoot整合Thymeleaf的方法

SpringBoot整合Thymeleaf的方法

簡介:

  在目前的企業級應用開發中 前後端分離是趨勢,但是檢視層技術還佔有一席之地, Spring Boot 對檢視層技術提供了很好的支援,官方推薦使用的模板引擎是 Thymeleaf 不過像 FreeMarker 也支援, JSP 技術在這裡並不推薦使用。

  Thymeleaf 是新一代 Java 模板引擎,類似於 Velocity、FreeMarker 等傳統 Java 模板引擎。與傳統 Java 模板引擎不同的是 Thymeleaf 支援 HTML 原型,既可 以讓前端工程師在瀏覽器中直接打 開檢視樣式,也可以讓後端工程師結合真實資料檢視顯示效果。 同時, Spring Boot 提供了 Thymeleaf 自動 配置解決方案,因此Spring Boot 中使用 Thymeleaf 常方便。

1.引入依賴:

 <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
  </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

2.application.properties

#是否開啟快取,開發時可設定為false,預設為true
spring.thymeleaf.cache=true
#是否檢查模板是否存在,預設為true
spring.thymeleaf.check-template=true
#是否檢查模板位置是否存在,預設為true
spring.thymeleaf.check-template-location=true
#模板檔案編碼
spring.thymeleaf.encoding=UTF-8
#模板檔案位置
spring.thymeleaf.prefix=classpath:/templates/
#Content-Type配置
spring.thymeleaf.servlet.content-type=text/html
#模板檔案字尾
spring.thymeleaf.suffix=.html

3.建立實體類和controller類

public class Book {
  private Integer id;
  private String name;
  private String author;
  //省略getter/setter
}
@Controller
public class BookController {
  @GetMapping("/books")
  public ModelAndView books() {
    List<Book> books = new ArrayList<>();
    Book b1 = new Book();
    b1.setId(1);
    b1.setAuthor("羅貫中");
    b1.setName("三國演義");
    Book b2 = new Book();
    b2.setId(2);
    b2.setAuthor("曹雪芹");
    b2.setName("紅樓夢");
    books.add(b1);
    books.add(b2);
    ModelAndView mv = new ModelAndView();
    mv.addObject("books",books);
    mv.setViewName("books");
    return mv;
  }
}

4.html檔案:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
  <meta charset="UTF-8">
  <title>圖書列表</title>
</head>
<body>
<table border="1">
  <tr>
    <td>圖書編號</td>
    <td>圖書名稱</td>
    <td>圖書作者</td>
  </tr>
  <tr th:each="book:${books}">
    <td th:text="${book.id}"></td>
    <td th:text="${book.name}"></td>
    <td th:text="${book.author}"></td>
  </tr>
</table>
</body>
</html>

5.結果:

SpringBoot整合Thymeleaf的方法

總結

以上所述是小編給大家介紹的SpringBoot整合Thymeleaf的方法,希望對大家有所幫助!