th:field忽略占位符值并设置为0

时间:2019-04-12 06:37:07

标签: thymeleaf

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}”。但是我想了解为什么它会那样。 我想显示占位符值而不是默认值。我该如何运作?

1 个答案:

答案 0 :(得分:0)

默认情况下,int的值为0。它不可能没有价值。您可以将Integer设置为null,然后Thymeleaf将使用value=""