th:field忽略占位符值,并将默认值设置为0。
Model:
@Entity
public class Employer implements Serializable {
@Id
private int id;
...
}
View:
<input type="text" placeholder="A1234" th:field="*{emloyer.id}">
What is being generated:
<input type="text" placeholder="A1234" value="0" id="emloyer.id" name="emloyer.id">
我想了解为什么会生成value = 0。如果我将int的类型更改为String,那就可以了。我什至尝试过value =“”和th:value =“”,但它仍被生成为value =“ 0”。我知道我可以写id =“ emloyer.id” name =“ emloyer.id”代替th:field =“ * {emloyer.id}”。但是我想了解为什么它会那样。 我想显示占位符值而不是默认值。我该如何运作?
答案 0 :(得分:0)
默认情况下,int
的值为0
。它不可能没有价值。您可以将Integer
设置为null
,然后Thymeleaf将使用value=""
。