专业的编程技术博客社区

网站首页 > 博客文章 正文

初试SpringBoot 推荐的模板引擎(Thymeleaf )

baijin 2024-08-15 17:05:53 博客文章 12 ℃ 0 评论

SpringBoot 使用 Thymeleaf 模板引擎

快速构建Thymeleaf 模板引擎

简单5步起,就实现模板引擎开始:

  • 1、引入依赖包。
  • 2、设置配置文件。
  • 3、编辑后台代码。
  • 4、编辑前端代码。
  • 5、启动项目访问。

构建步骤

1、SpringBoot 的 pom.xml 引入 Thymeleaf 依赖包

SpringBoot默认提供了Thymeleaf的Starter,只需简单引入依赖即可。

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

版本号根据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 {

	@Autowired
	private 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", article);
		return "index";
	}
	 
	
	
}

4、SpringBoot 编辑前端代码

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
 <meta charset="UTF-8"/>
 <title th:text="${article.title}"></title>
</head>
<body>
<h1 th:text="${article.title}"></h1>
<p th:utext="${article.info}"> </p>
</body>
</html>

5、SpringBoot 启动项目访问

运行项目:访问:url/article/index?id=3052


希望我的分享可以帮助到你,如果你在内容技术上遇到难题,可以+关注■@主引教程 ,反馈给我们。我们会及时回复,如果有那些内容有误可以直接提出来,我们会及时纠正,谢谢来访。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表