Thymeleaf模板引入遍历枚举

本文介绍了一种使用枚举类型的Java代码实现方式,并展示了如何在Thymeleaf模板中遍历并显示枚举类型的键值对,便于在前端页面中使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Enum 代码

package com.java.enums;
public enum SerialEnum {
    A(1, "A"),
    B(2, "B"),
    C(3, "C");


    public String key;
    public String value;


    public String getKey() {
        return key;
    }
    public String getValue() {
        return value;
    }
 
    AreaSerialEnum(String key, String value) {
        this.key = key;
        this.value = value;
    }
}
 

2.Thymeleaf模板遍历枚举键值

<select>
  <option th:each="enmu : ${T(com.java.enums.SerialEnum).values()}"

              th:value="${enmu.key}"

              th:text="${enmu.value}">

   </option>
</select>

### 解决 Thymeleaf 遍历结果不显示的问题 当遇到 Thymeleaf `th:each` 不显示结果的情况时,通常有几种常见原因可能导致此现象。以下是详细的排查方法和解决方案: #### 1. 数据源为空或未正确传递给视图 确保控制器确实向模型中添加了数据,并且这些数据被成功传送到前端页面。 ```java // 控制器代码片段 @GetMapping("/users") public String listUsers(Model model) { List<User> users = userService.getAllUsers(); if (users != null && !users.isEmpty()) { // 确认列表非空 model.addAttribute("users", users); } return "userList"; } ``` 如果数据源本身为空,则无论模板语法多么正确都无法显示出任何条目[^1]。 #### 2. 正确使用 th:each 属性 确认在 HTML 中已经按照标准方式应用了 `th:each` 属性来迭代集合对象中的每一个元素。 ```html <table> <tr th:each="user : ${users}"> <td th:text="${user.name}">User Name</td> <!-- 更多字段 --> </tr> </table> ``` 注意变量名(这里为 user)前后应保持一致;同时也要保证 `${}` 表达式的书写无误。 #### 3. 模板文件路径配置错误 检查项目结构以及 Spring Boot 或其他框架下的资源配置是否允许访问到指定的 .html 文件。对于 Spring MVC 来说,默认情况下会查找 `/templates/` 下面相应名称的资源作为响应体返回给客户端浏览器渲染展示出来。 #### 4. 浏览器缓存影响 有时候即使服务器端修改后的逻辑已生效,但由于浏览器本地存储着旧版本网页副本的缘故而看不到最新变化。此时可以尝试清除浏览记录或者通过隐身模式重新加载页面来进行验证测试。 #### 5. 开发工具调试辅助 利用 IDE 的断点功能跟踪程序执行流程直至最终将目标数据集注入至 Model 对象内;另外借助 Chrome DevTools 查看 Network 请求状态码及 Response Body 是否含有预期的内容片段也可以帮助定位具体位置并解决问题所在之处。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值