thymeleaf radio 获取及回显
在Thymeleaf中,要实现单选按钮(radio)的获取及回显,你需要确保每个单选按钮都有不同的name
属性值,并且其value
属性与模型中的值相匹配。
以下是一个简单的例子:
Controller中设置模型数据:
@GetMapping
public String getForm(Model model) {
model.addAttribute("selectedOption", "option2"); // 假设已选择option2
return "form";
}
Thymeleaf模板中的radio按钮:
<form th:action="@{/submit}" th:object="${yourModel}" method="post">
<div th:each="option : ${#{'option1' : '选项1', 'option2' : '选项2', 'option3' : '选项3'}}">
<input type="radio" th:name="radioName" th:value="${option.key}"
th:field="*{selectedOption}" th:checked="${option.key} == ${selectedOption} ? true : false"/>
<label th:for="${#ids.prev('radioName')}" th:text="${option.value}">选项标签</label>
</div>
<button type="submit">提交</button>
</form>
在这个例子中,th:field="*{selectedOption}"
指定了模型属性与单选按钮绑定。th:checked
属性用于判断当前选项是否应该被选中。
当表单提交时,selectedOption
的值将会被提交到服务器。如果需要回显,只需确保在服务器端设置的值与提交上来的值相匹配,或者在获取表单数据时设置到模型中。
评论已关闭