SpringBoot 使用 Thymeleaf 模板引擎
快速构建Thymeleaf 模板引擎
简单5步起,就实现模板引擎开始:
- 1、引入依赖包。
- 2、设置配置文件。
- 3、编辑后台代码。
- 4、编辑前端代码。
- 5、启动项目访问。
构建步骤
1、SpringBoot 的 pom.xml 引入 Thymeleaf 依赖包
SpringBoot默认提供了Thymeleaf的Starter,只需简单引入依赖即可。
org.springframework.bootspring-boot-starter-thymeleaf
版本号根据SpringBoot的版本号,引用的版本不一样。本教程使用SpringBoot 2.1.5.RELEASE 版本,默认使用3.0.11.RELEASE版本。
2、SpringBoot 设置配置文件
本教程使用了yml来配置SpringBoot的配置文件,使用三个配置文件。开发环境和生产环境都需要添加。配置文件可以参考
spring: #模板配置 thymeleaf:prefix: classpath:/templates/ # Prefix that gets prepended to view names when building a URL.前缀,用于在构建URL时查看名称。cache: false # Whether to enable template caching.是否启用模板缓存。check-template: true # Whether to check that the template exists before rendering it.渲染前是否检查模板是否存在。check-template-location: true # Whether to check that the templates location exists.是否检查模板位置。enabled: true # Whether to enable Thymeleaf view resolution for Web frameworks.是否为Web框架启用Thymeleaf视图解析。enable-spring-el-compiler: false # Enable the SpringEL compiler in SpringEL expressions.在SpringEL表达式中启用SpringEL编译器。encoding: UTF-8 # Template files encoding.模板文件编码。excluded-view-names: # Comma-separated list of view names (patterns allowed) that should be excluded from resolution.逗号分隔的视图名称列表(允许的模式),应从分辨率中排除。mode: HTML # Template mode to be applied to templates. See also Thymeleaf's TemplateMode enum.应用于模板的模板模式。另请参见Thymeleaf的TemplateMode枚举。reactive.chunked-mode-view-names: # Comma-separated list of view names (patterns allowed) that should be the only ones executed in CHUNKED mode when a max chunk size is set.以逗号分隔的视图名称列表(允许的模式),当设置最大块大小时,这些视图名称应该是在CHUNKED模式下唯一执行的视图名称。reactive.full-mode-view-names: # Comma-separated list of view names (patterns allowed) that should be executed in FULL mode even if a max chunk size is set.以逗号分隔的视图名称列表(允许的模式),即使设置了最大块大小,也应以FULL模式执行。reactive.max-chunk-size: 0 # Maximum size of data buffers used for writing to the response, in bytes.用于写入响应的数据缓冲区的最大大小,以字节为单位。#reactive.media-types: # Media types supported by the view technology.视图技术支持的媒体类型。servlet.content-type: text/html # Content-Type value written to HTTP responses.写入HTTP响应的Content-Type值。suffix: .html # Suffix that gets appended to view names when building a URL.在构建URL时添加到视图名称的后缀。 # template-resolver-order: # Order of the template resolver in the chain.模板解析器在链中的顺序。 # view-names: # Comma-separated list of view names (patterns allowed) that can be resolved.可以解析的视图名称列表(以逗号分隔)。
3、SpringBoot 编辑后台代码
实现一个文章来当例子:
package com.mainboot.mainbootAdmin.controller;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import com.mainboot.mainbootAdmin.model.Article;import com.mainboot.mainbootAdmin.service.ArticleService;@Controller@RequestMapping("article")public class ArticleViewController {@Autowiredprivate ArticleService articleService;@RequestMapping("index")public String index(Integer id,Model mv){Article article = new Article();if(id!=null){article = articleService.findId(id);}mv.addAttribute("article