SpringBoot2.x 集成 Thymeleaf的详细教程
Thymeleaf是一个Java的模板引擎,能够在客户端和服务端运行。它被广泛应用于Spring框架的Web开发。下面我们将介绍SpringBoot2.x集成Thymeleaf的详细教程。
步骤一:添加Starter依赖
在 pom.xml 文件中添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
步骤二:创建模板文件
在 src/main/resources/templates 目录下创建hello.html模板文件,内容如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello Thymeleaf</title>
</head>
<body>
<p th:text="'Hello, ' + ${name} + '!'"></p>
</body>
</html>
步骤三:创建Controller类
在src/main/java目录下创建HelloController类,代码如下:
@Controller
public class HelloController {
@GetMapping("/hello")
public String hello(Model model) {
model.addAttribute("name", "Thymeleaf");
return "hello";
}
}
步骤四:启动应用程序
编译并启动应用程序。在浏览器中输入http://localhost:8080/hello,应该会看到页面上输出了“Hello, Thymeleaf!”。
示例一:使用Thymeleaf渲染表格
以下示例演示如何使用Thymeleaf渲染一个简单的表格。在 src/main/resources/templates目录下创建 table.html文件,内容如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Table Example</title>
</head>
<body>
<table>
<thead>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
</thead>
<tbody>
<tr th:each="person : ${people}">
<td th:text="${person.name}"></td>
<td th:text="${person.age}"></td>
</tr>
</tbody>
</table>
</body>
</html>
更新HelloController类以使用新table.html模板文件:
@Controller
public class HelloController {
@GetMapping("/table")
public String table(Model model) {
List<Person> people = new ArrayList<>();
people.add(new Person("John", 32));
people.add(new Person("Mary", 25));
people.add(new Person("Tom", 47));
model.addAttribute("people", people);
return "table";
}
private static class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
}
在浏览器中输入http://localhost:8080/table,应该会看到一个表格,其中包含前面添加的三个人员的姓名和年龄。
示例二:使用Thymeleaf渲染下拉菜单
以下示例演示如何使用Thymeleaf渲染一个下拉菜单。在 src/main/resources/templates目录下创建 dropdown.html 文件,内容如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Dropdown Example</title>
</head>
<body>
<select th:field="*{language}">
<option value="Java">Java</option>
<option value="C#">C#</option>
<option value="Python">Python</option>
<option value="JavaScript">JavaScript</option>
</select>
</body>
</html>
更新HelloController类以使用新dropdown.html模板文件:
@Controller
public class HelloController {
@GetMapping("/dropdown")
public String dropdown(Model model) {
model.addAttribute("formObject", new FormObject());
return "dropdown";
}
@PostMapping("/dropdown")
public String submit(@ModelAttribute("formObject") FormObject formObject) {
return "redirect:/dropdown";
}
private static class FormObject {
private String language;
public String getLanguage() {
return language;
}
public void setLanguage(String language) {
this.language = language;
}
}
}
在浏览器中输入http://localhost:8080/dropdown,应该会看到一个下拉菜单,其中包含四个语言选项。当选择并提交某个选项时,下拉菜单会保留用户的选择。
至此,SpringBoot2.x集成Thymeleaf的详细教程结束。预祝各位读者在使用中取得圆满的成功。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot2.x 集成 Thymeleaf的详细教程 - Python技术站