文章目录
SpringBoot整合Thymeleaf详解
一、引言
在现代Java Web开发中,Spring Boot因其简化配置和快速开发的特点而广受欢迎。Thymeleaf作为一个现代服务器端Java模板引擎,能够很好地与Spring Boot集成,提供声明式的视图处理。本文将详细介绍如何在Spring Boot项目中整合Thymeleaf,并展示其基本用法。
二、SpringBoot与Thymeleaf的整合
1、配置Thymeleaf
1.1、添加依赖
首先,我们需要在项目的pom.xml
文件中添加Thymeleaf的依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
1.2、配置属性
接下来,在application.properties
或application.yml
文件中配置Thymeleaf的相关属性。
以application.properties
为例:
# Thymeleaf模板配置
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
spring.thymeleaf.cache=false
以application.yml
文件中配置Thymeleaf的相关属性:
spring:
thymeleaf:
prefix: classpath:/templates/
suffix: .html
mode: HTML5
encoding: UTF-8
content-type: text/html
cache: false
在开发阶段,建议将cache
设置为false
以禁用缓存,这样可以即时看到页面的更改效果。
2、创建Controller
创建一个简单的Controller来返回视图和数据:
@Controller
public class GreetingController {
@RequestMapping(value = "/greeting")
public ModelAndView test(ModelAndView mv) {
mv.setViewName("greeting");
mv.addObject("title", "欢迎使用Thymeleaf!");
return mv;
}
}
三、编写Thymeleaf模板
在src/main/resources/templates
目录下创建greeting.html
文件,编写Thymeleaf模板:
<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
<title>Getting Started: Serving Web Content</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link th:href="@{/css/1.css}" rel="stylesheet"/>
</head>
<body>
<p th:text="'Hello, ' + ${title}" /><br/>
<script th:src="@{/js/jquery/1.11.0/jquery.js}"></script>
<script>
$(function(){
alert("page load finish.");
});
</script>
</body>
</html>
在这个模板中,我们使用了Thymeleaf的th:text
属性来动态显示从Controller传递过来的title
变量。
四、总结
通过上述步骤,我们成功地在Spring Boot项目中整合了Thymeleaf,并创建了一个简单的页面。Thymeleaf的整合不仅简化了页面的开发,还提供了强大的表达式语言和自然模板语法,使得页面的维护和开发变得更加高效。
版权声明:本博客内容为原创,转载请保留原文链接及作者信息。
参考文章:
标签:SpringBoot,spring,Thymeleaf,thymeleaf,详解,整合,模板 From: https://blog.csdn.net/NiNg_1_234/article/details/143594686