Thymeleaf Map
时间: 2025-01-07 19:01:27 浏览: 7
### 使用Map对象在Thymeleaf模板引擎中的方法
在Web应用程序开发过程中,经常需要展示键值对数据结构的内容。对于Java开发者而言,在Spring框架下利用Thymeleaf作为视图层技术时,可以通过多种方式处理`java.util.Map`类型的变量。
#### 将Map传递给模板
为了能够在前端页面上操作这个映射表,首先得通过控制器向模型中添加相应的属性:
```java
@GetMapping("/show-map")
public String showMap(Model model){
Map<String, Object> sampleData = new HashMap<>();
sampleData.put("key1", "value1");
sampleData.put("key2", 42);
sampleData.put("key3", Arrays.asList("itemA","itemB"));
model.addAttribute("dataMap", sampleData);
return "mapView";
}
```
上述代码片段展示了如何创建并填充一个简单的字符串到对象的映射关系,并将其加入至Model实例以便于后续渲染[^1]。
#### 访问单个条目
当希望获取特定键对应的值时,可以采用如下语法形式:
```html
<p th:text="${dataMap['key1']}"></p>
<!-- 或者 -->
<span th:text="${dataMap.key2}">Default Text</span>
```
这里介绍了两种不同的访问路径表达式来读取存储的数据项。前者适用于动态指定键名的情况;后者则用于已知固定名称的情形[^2]。
#### 遍历整个集合
如果想要遍历所有的键值对,则可借助`th:each`指令完成迭代过程:
```html
<table>
<tr th:each="entry : ${dataMap}">
<td th:text="${entry.key}"></td><td>: </td><td th:text="${entry.value}"></td>
</tr>
</table>
```
这段HTML标记定义了一个表格结构用来呈现来自服务器端传入的所有记录。每一对键和关联的对象都会被转换成一行显示出来[^5]。
阅读全文