- Spring Boot整合Thymeleaf模板引擎的步骤
(1)引入相关依赖
在pom.xml中加入以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
(2)设置Thymeleaf模板引擎参数
在application.properties中设置以下参数:
# 设置Thymeleaf的前缀和后缀
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
# 开启模板缓存
spring.thymeleaf.cache=true
# 设置编码
spring.thymeleaf.encoding=UTF-8
# 设置可解析的内容类型
spring.thymeleaf.content-type=text/html
(3)创建Thymeleaf模板
在resources/templates目录下创建模板文件,例如index.html。模板中可以使用Thymeleaf提供的各种标签和表达式。
(4)在Controller中使用模板
在Controller中,使用ModelAndView返回需要展示的模板名称,以及模板中需要的数据:
@Controller
public class MyController {
@GetMapping("/")
public ModelAndView index() {
ModelAndView mv = new ModelAndView();
mv.setViewName("index"); // 设置要展示的模板名称
mv.addObject("message", "Hello Thymeleaf!"); // 设置模板中需要的数据
return mv;
}
}
- 示范示例
(1)使用Thymeleaf模板引擎实现简单的页面效果
首先,创建一个简单的Spring Boot项目,并使用Thymeleaf模板引擎展示一个页面。在src/main/resources/templates目录下,创建一个名为index.html的模板文件,内容如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Thymeleaf Demo</title>
</head>
<body>
<h1>Thymeleaf Demo</h1>
<p th:text="${message}"></p>
</body>
</html>
这里使用了Thymeleaf提供的th:text属性,可以将Controller中添加到ModelAndView中的message属性的值显示在页面上。
接下来,创建一个Controller,在其中返回ModelAndView对象。代码如下:
@Controller
public class MyController {
@GetMapping("/")
public ModelAndView index() {
ModelAndView mv = new ModelAndView();
mv.setViewName("index");
mv.addObject("message", "Hello Thymeleaf!");
return mv;
}
}
启动应用程序,访问http://localhost:8080,即可看到展示的页面,其中包含"Hello Thymeleaf!"这个文本。
(2)在Thymeleaf模板中使用条件判断和循环
首先,修改index.html,添加一些条件判断和循环的实例。代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Thymeleaf Demo</title>
</head>
<body>
<h1>Thymeleaf Demo</h1>
<div th:if="${flag}">
<p>flag is true</p>
</div>
<ul>
<li th:each="item : ${items}" th:text="${item}"></li>
</ul>
</body>
</html>
这里使用了Thymeleaf提供的th:if
和th:each
属性,分别实现了条件判断和循环。
然后,在Controller中添加实现条件判断和循环需要的数据。代码如下:
@Controller
public class MyController {
@GetMapping("/")
public ModelAndView index() {
ModelAndView mv = new ModelAndView();
mv.setViewName("index");
mv.addObject("message", "Hello Thymeleaf!");
mv.addObject("flag", true);
mv.addObject("items", Arrays.asList("item1", "item2", "item3"));
return mv;
}
}
启动应用程序,访问http://localhost:8080,即可看到展示的页面,其中包含"flag is true"这个文本和三个列表项。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Springboot整合thymleaf模板引擎过程解析 - Python技术站