th:field 忽略占位符值并将默认值设置为 0。
型:
@Entity
public class Employer implements Serializable {
@Id
private int id;
...
}
视图:
<input type="text" placeholder="A1234" th:field="*{emloyer.id}">
正在生成什么:
<input type="text" placeholder="A1234" value="0" id="emloyer.id" name="emloyer.id">
我想了解为什么生成值=0。如果我将 int 的类型更改为字符串,那没关系。我什至尝试了 value=" 和 th:value=",但它仍然被生成为 value="0"。我知道我可以写id="emloyer.id" name="emloyer.id"而不是th:field="*{emloyer.id}"。但我想了解为什么它的行为是这样的。我想显示占位符值而不是默认值。我怎样才能让它工作?
默认情况下,int
的值为 0
。它不可能没有价值。您可以使用设置为 null
的Integer
,然后 Thymeleaf 将使用 value=""
。