如何使用Thymeleaf根据登录用户ID勾选表格对应行?
解决方案
你只需要修改th:checked的判断逻辑,直接比较body.id和当前登录用户的ID即可,同时修正原代码里的HTML结构问题:
修改后的代码
<tr th:each="body : ${bodies}"> <td> <input type="checkbox" th:value="${body.id}" th:checked="${body.id == oUser.id}"> </td> <td scope="row" th:text="${body.id}"></td> <td th:text="${body.description}"></td> </tr>
关键说明
- 假设
oUser是后端传入的当前登录用户对象,其id属性对应当前用户的ID。如果你的当前用户ID是单独存入模型的变量(比如叫currentUserId),只需把表达式改成${body.id == currentUserId}即可。 - 原代码存在HTML结构错误:第三个
<span>未包裹在<td>内,第二个<td>的闭合标签位置有误,上面的代码已一并修正,避免页面渲染异常。
内容的提问来源于stack exchange,提问作者gapler
相关产品推荐
相关产品推荐

