Thymeleaf如何像json一样取值
时间: 2024-09-26 13:00:16 浏览: 28
Thymeleaf是一个强大的模板引擎,用于Spring MVC应用中,它并不直接支持JSON数据的原生操作,因为其主要作用是处理HTML模板。然而,你可以通过将JSON转换为模型对象(通常是Pojo或Java Bean),然后在Thymeleaf模板中访问这些对象的属性来间接获取JSON数据。
以下是步骤:
1. **服务端处理**:
- 将接收到的JSON解析成对应的Java对象,例如`MyJsonModel`。
```java
@PostMapping("/api")
public ResponseEntity<MyJsonModel> getJsonData(@RequestBody MyJsonRequest request) {
// 解析JSON并创建MyJsonModel实例
MyJsonModel model = parseJsonToModel(request.getBody());
return new ResponseEntity<>(model, HttpStatus.OK);
}
```
2. **将模型传递到视图**:
- 将`MyJsonModel`实例注入到模型`model`中,并设置到Spring MVC的`ModelAndView`中。
```java
ModelAndView modelAndView = new ModelAndView("myTemplate");
modelAndView.addObject("jsonData", model);
```
3. **Thymeleaf模板中取值**:
- 在Thymeleaf模板`.html`文件中,你可以直接使用`th:`表达式来访问对象属性,就像访问普通Java Bean属性一样。
```html
<p th:text="${jsonData.fieldName}"></p>
```
阅读全文