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



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 。它不可能没有价值。您可以使用设置为 nullInteger,然后 Thymeleaf 将使用 value=""

最新更新