我想用thyymeleaf和Spring创建一对未选中的单选按钮。因此,我使用属性th:field
。这将把bean(模型)的属性绑定到输入字段。无论我如何配置输入字段,总是检查其中一个,例如在两个input
标签上设置th:checked
属性为false
:<input type="radio" th:field="*{property}" th:checked="false" />
。
我知道单选按钮必须是这样的总是一个选项被默认选中。就是这条路。但是用户应该被迫选择其中一个选项,我不想使用自定义javascript来获得这种行为。
如果单选按钮的value
与th:field
匹配,则选中该按钮。我不确定这应该匹配什么,因为没有值。
<!-- From your code -- there is no value -->
<input type="radio" th:field="*{property}" th:checked="false" />
也就是说,如果你使用的是boolean
,它只有两种状态——真和假,所以如果有两个单选按钮,一个总是被选中的。如果您想使用boolean
属性并使单选按钮不受检查地启动,只需使用Boolean
(可以是true, false或NULL)而不是boolean
。这对我来说很有用,例如:
Java
class Form {
private Boolean property;
public Boolean getProperty() {
return property;
}
public void setProperty(Boolean property) {
this.property = property;
}
}
HTML
<form th:object="${form}">
<input type="radio" value="true" th:field="*{property}" /> - yes<br />
<input type="radio" value="false" th:field="*{property}" /> - no<br />
</form>