[JAVAEE] 初识ThymeLeaf
生活随笔
收集整理的這篇文章主要介紹了
[JAVAEE] 初识ThymeLeaf
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Thymeleaf 模板引擎
- Thymeleaf 是一個服務器端 Java 模板引擎,適用于 Web 和獨立環境, 能夠處理 HTML,XML,JavaScript,CSS 甚至純文本等。
- 常見的模板引擎:Thymeleaf,FreeMarker,Velocity,JSP等。
- Thymeleaf 是新一代的模板引擎,Spring 4.0 推薦的前端模版引擎(完 全取代 JSP)。
- Thymeleaf 從一開始就設計了Web標準,特別是 HTML5。
模板引擎工作原理
模板引擎可以讓用戶界面與業務數據分離
Thymeleaf 目標
- Thymeleaf 主要目標是為開發工作流程帶來優雅的自然模板:HTML可 以在瀏覽器中正確顯示,并且可以作為靜態原型工作,從而可以在開發 團隊中加強協作
自然模板示例:一個table模板
<table><thead><tr><th>商品名稱</th><th>商品價格</th></tr> </thead><tbody><tr th:each="prod: ${allProducts}"> <td th:text="${prod.name}">Oranges</td> <td th:text="${#numbers.formatDecimal(prod.price, 1, 2)}">0.99</td> </tr> </tbody>
</table>
Hello Thymeleaf
- 新建帶Thymeleaf引擎的Spring Boot項目:demo2
- 在 application.properties 添加相關配置
#關閉緩存
spring.thymeleaf.cache = false#設置thymeleaf頁面的存儲路徑
spring.thymeleaf.prefix=classpath:/templates/
#設置thymeleaf頁面的后綴
spring.thymeleaf.suffix=.html
#設置thymeleaf頁面的編碼
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
- 添加實體模型:新建 bean 包,并在包中新建 Student 類
student.java
package com.example.demo.bean;public class Student {private Integer id; //學號private String name; //姓名public Student() {}public Student(Integer id, String name) {this.id = id;this.name = name;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}
- 添加控制器:
TestController
package com.example.demo.controller;import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
public class TestController {@RequestMapping("/th")public String index(Model model) {String msg = "hello thymeleaf!";model.addAttribute("msg", msg);return "th/index";}
}
- 添加視圖:
index.html
th:text:文本標簽,用于進行文本替換 ${ 屬性變量名 }:稱為 變量表達式
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><p th:text="${msg}">hello</p>
</body>
</html>
- 運行結果:啟動服務器
總結
以上是生活随笔為你收集整理的[JAVAEE] 初识ThymeLeaf的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端面试题笔记 2021.8.26
- 下一篇: [JAVAEE] 理解“自然模板“+使用