让我们来详细讲解 Spring Boot 整合 Thymeleaf 的完整攻略。
步骤一:创建 Spring Boot 项目
首先,我们需要创建一个 Spring Boot 项目。可以使用 Spring Boot 官方提供的 Web 页面来生成项目:Spring Initializr。在这个页面中,我们需要填写一些基本的项目信息:项目名称、类型、包名,还可以选择需要的依赖。这里我们需要选择 Web 和 Thymeleaf 依赖。
生成项目后,可以用 IDEA 或者其他 IDE 直接打开项目。
步骤二:添加 Thymeleaf 配置
在 application.properties
文件中添加如下配置:
spring.thymeleaf.enabled=true
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML5
spring.thymeleaf.cache=false
上面的配置指定了 Thymeleaf 模板文件所在的路径、文件后缀名以及一些其他的配置信息。其中 cache
设置为 false
,是为了方便调试,生产环境中需要改成 true
。
步骤三:创建 Thymeleaf 模板文件
在项目的 /src/main/resources/templates
目录下创建一个 index.html
文件,示例如下:
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Spring Boot 整合 Thymeleaf 示范</title>
</head>
<body>
<h1 th:text="${message}"></h1>
</body>
</html>
上面的代码片段使用了 Thymeleaf 的模板语法,在 h1
标签中使用 th:text
属性表示将后端传递过来的 message
变量渲染到页面中。
步骤四:创建 Spring Boot Controller
在项目中创建一个 HelloController
类,用于处理 HTTP 请求和响应:
@Controller
public class HelloController {
@GetMapping("/")
public String index(Model model) {
// 向模板中添加数据
model.addAttribute("message", "Hello Thymeleaf!");
// 返回模板名称
return "index";
}
}
上面的代码片段使用了 Spring Web 的 @GetMapping
注解来处理 HTTP GET 请求,同时使用 Model
对象向模板中添加了一个名为 message
的变量,并将返回的模板文件名称设置为 index
。
步骤五:运行 Spring Boot 项目
最后一步是启动项目并访问页面。可以使用 IDEA 直接运行项目,或者使用 Maven 命令 mvn spring-boot:run
来启动项目。
启动项目后,可以在浏览器中访问 http://localhost:8080/
地址,查看是否能够正确渲染出页面。
示例一:遍历列表
下面提供一个示例,用于在 Thymeleaf 页面中遍历列表:
@Controller
public class HelloController {
@GetMapping("/list")
public String list(Model model) {
// 向模板中添加数据
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
model.addAttribute("names", names);
// 返回模板名称
return "list";
}
}
上面的代码片段中,我们向模板中添加了一个名为 names
的变量,它是一个字符串列表。然后,我们可以在模板文件中使用下面的代码来遍历并显示列表内容:
<ul>
<li th:each="name : ${names}" th:text="${name}"></li>
</ul>
上面的代码片段使用了 Thymeleaf 的 th:each
属性来遍历列表,并将列表元素渲染到 li
标签中。
示例二:使用 Thymeleaf 标准表达式
下面提供一个示例,用于在 Thymeleaf 页面中使用标准表达式:
@Controller
public class HelloController {
@GetMapping("/math")
public String math(Model model) {
// 向模板中添加数据
int num1 = 10;
int num2 = 20;
model.addAttribute("num1", num1);
model.addAttribute("num2", num2);
// 返回模板名称
return "math";
}
}
上面的代码片段中,我们向模板中添加了两个名为 num1
和 num2
的变量,它们分别是整数类型。可以在模板中使用下面的代码来进行算术运算:
<p>num1 + num2 = [[${num1 + num2}]]</p>
<p>num1 - num2 = [[${num1 - num2}]]</p>
<p>num1 * num2 = [[${num1 * num2}]]</p>
<p>num1 / num2 = [[${num1 / num2}]]</p>
上面的代码片段使用了 Thymeleaf 的标准表达式来进行算术运算,并将结果渲染到 p
标签中。注意,标准表达式需要用双中括号 [[...]]
包裹起来,这是 Thymeleaf 为了避免和其他模板语法冲突而特意设计的。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot整合Thymeleaf详解 - Python技术站