thymeleaf带参渲染数据的时候怎么调用后端接口
时间: 2023-11-28 09:05:03 浏览: 37
Thymeleaf 可以通过后端接口来获取数据然后进行渲染。一般情况下,后端接口会返回一个 JSON 或者 XML 格式的数据,然后在前端页面上通过 Thymeleaf 进行渲染。
首先,你需要在后端编写一个控制器方法,该控制器方法可以接收参数并返回数据。例如:
```java
@GetMapping("/user/{id}")
public ModelAndView getUser(@PathVariable Long id) {
User user = userService.findById(id);
ModelAndView mav = new ModelAndView("user");
mav.addObject("user", user);
return mav;
}
```
在上面的代码中,我们定义了 `/user/{id}` 路径的控制器方法 `getUser()`,该方法接收一个 `id` 参数,并且通过 `userService` 获取对应的用户信息。然后将用户信息存储到 `ModelAndView` 对象中,最后返回 `user` 视图。
在 Thymeleaf 模板中,可以通过 `${user.id}` 的方式来获取用户的信息。例如:
```html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8"/>
<title>用户信息</title>
</head>
<body>
<h1>用户信息</h1>
<p>用户ID: <span th:text="${user.id}"/></p>
<p>用户名: <span th:text="${user.name}"/></p>
<p>用户邮箱: <span th:text="${user.email}"/></p>
</body>
</html>
```
在上面的代码中,我们使用了 Thymeleaf 的表达式 `${user.id}`,它会从 `ModelAndView` 对象中获取 `user` 属性,并且获取 `id` 属性的值进行渲染。
当访问 `/user/1` 路径时,将会渲染出用户ID为1的用户信息。