springboot学习-Thymeleaf模板引擎

Thymeleaf模板引擎

  • 我记得之前写过,今天才发现把这个给落下了,代码都没了,找了个例子,记录下来
  • 实际上,现在企业级应用开发,前后端分离越来越多。但是总有老项目,甚至于还要维护骨灰级代码。
  • 模板引擎有很多,引用方式基本上一致。

Thymeleaf简介

  • Thymeleaf是适用于Web和独立环境的现代服务器端Java模板引擎。

  • Thymeleaf的主要目标是为您的开发工作流程带来优雅的自然模板 -HTML可以在浏览器中正确显示,也可以作为静态原型工作,从而可以在开发团队中加强协作。

  • Thymeleaf拥有适用于Spring Framework的模块,与您喜欢的工具的大量集成以及插入您自己的功能的能力,对于现代HTML5 JVM Web开发而言,Thymeleaf是理想的选择-尽管它还有很多工作要做。

  • 要注意的是thymeleaf不是spring旗下的。

  • Thymeleaf官网地址
    springboot学习-Thymeleaf模板引擎_第1张图片

  • 自然模板

<table>
  <thead>
    <tr>
      <th th:text="#{msgs.headers.name}">Nameth>
      <th th:text="#{msgs.headers.price}">Priceth>
    tr>
  thead>
  <tbody>
    <tr th:each="prod: ${allProducts}">
      <td th:text="${prod.name}">Orangestd>
      <td th:text="${#numbers.formatDecimal(prod.price, 1, 2)}">0.99td>
    tr>
  tbody>
table>
  • 基本语法可以看一下这位仁兄的博客Thymeleaf的基本语法
  • 这位更全面,评论6楼有惊喜 Thymeleaf入门到吃灰

在springboot中使用Themeleaf模板

1.添加依赖

  • 在pom.xml中添加依赖
		<dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-thymeleafartifactId>
        dependency>

2.配置Themeleaf

  • Spring Boot为Thymeleaf提供了自动化配置类。也就是说可以使用默认配置。
  • 作为开发者,对默认的配置进行修改,只需要在application.properties/application.yml中进行配置。
#是否开启缓存,开发时可设置为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.创建实体类

public class Book {
    private Integer id;
    private String name;
    private String author;
    //省略getter/setter
}

4.创建控制类

  • 在Controller中返回ModelAndView
@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;
    }
}

5.创建承载页面

  • 在resource目录下的templates目录中创建books.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>

6.运行程序

  • 在浏览器中输入“http://localhost:8080/books”,即可看到运行效果
    springboot学习-Thymeleaf模板引擎_第2张图片
  • 欢迎大家关注我的公众号
    springboot学习-Thymeleaf模板引擎_第3张图片

你可能感兴趣的:(springboot,web,java)