我正在使用Spring Boot + thymeleaf,并尝试使用最少的代码创建复选框列表。 复选框显示所有用户角色(USER,ADMIN),并且必须检查用户是否具有这种角色。
因此,起初,我试图使它像这样:
<p>
<input th:type="radio" th:value="${role}"
th:checked="${user.getRoles().contains(role)} ? 'checked' : 'unchecked'" />
<th:block th:utext="${role}"/>
</p>
但这没用。
然后我做到了:
<th:block th:each="role : ${userRoles}">
<p>
<th:block th:if="${user.getRoles().contains(role)}">
<input th:type="radio" checked />
</th:block>
<th:block th:if="${!user.getRoles().contains(role)}">
<input th:type="radio"/>
</th:block>
<th:block th:utext="${role}"/>
</p>
</th:block>
这是可行的,但是有没有像我第一次尝试那样的简单方法? 谢谢!
答案 0 :(得分:1)
无线电类型的<input>
元素支持公共属性checked
。这是布尔属性,它接受true
和false
作为可能的值。表示您的Thymeleaf条件可以直接放入此属性的值中,如下所示...
<p>
<input th:type="radio" th:value="${role}"
th:checked="${user.getRoles().contains(role)}" />
<th:block th:utext="${role}"/>
</p>
有关Thymeleaf Fixed-value boolean attributes
的更多信息