Rog*_*nco 2 thymeleaf spring-boot
我一直在玩弹簧靴和百里香; 我正在尝试做一个表格,我将列出数字,用户将选择它们; 但是我想"检查"第三个元素(当等于3时)并且我看不到输入被检查.
我没有加载信息和显示复选框的问题,当我想在页面加载时默认选中其中一个时出现问题.
我需要一些帮助来确定它应该是什么问题,或者它是否是一个bug:checked属性.
我在控制器中有这个
@ModelAttribute("allFeatures")
public List<Integer> populateFeatures() {
return Arrays.asList(1, 2, 3, 4, 5, 6);
}
Run Code Online (Sandbox Code Playgroud)
这是html代码
<ul>
<li th:each="feat : ${allFeatures}">
<input type="checkbox" th:field="*{features}" th:value="${feat}" th:checked="${feat == 3}"></input>
<label th:for="${#ids.prev('features')}" th:text="${'seedstarter.feature.' + feat}">Electric Heating</label>
</li>
<li th:remove="all">
<input id="removed1" type="checkbox"/> <label for="removed1">Turf</label>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
提前致谢.
使用th:checked并避免th:field和包含'name'属性
<input type="checkbox" th:checked="${feat} == 3" name="features"></input>
Run Code Online (Sandbox Code Playgroud)
额外评论
但正确的方法是避免th:checked和'name'归因于并坚持th:field.但在这种情况下,您必须确保"features"在将控制器中的模型属性发布到视图之前对其进行初始化.在这里,您可以定义默认情况下从控制器本身检查的复选框.
但是,由于您希望显示复选框的动态列表,因此您的情况似乎有点棘手.所以我更喜欢第一种解决方案.
| 归档时间: |
|
| 查看次数: |
15462 次 |
| 最近记录: |