thymeleaf - 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">
我想了解为什么会生成 value=0 。如果我将 int 类型更改为 String 就可以了。我什至尝试了 value="" 和 th:value="",但它仍然生成为 value="0"。我知道我可以写 id="emloyer.id" name="emloyer.id" 而不是 th:field="*{emloyer.id}"。但我想了解它为什么会这样。我想显示占位符值而不是默认值。我怎样才能让它工作?
解决方案
默认情况下 anint
的值为0
。它不可能没有价值。您可以使用Integer
set to null
,然后 Thymeleaf 将使用value=""
.
推荐阅读
- google-cloud-firestore - Algolia Livesearch 将 Firestore 数据索引到 Algolia
- angular - 尝试安装 Angular 时,找不到 ng 命令
- python - 我需要删除所有使用不同索引重复的行
- angular - Angular 7 CanActivate Guard for URL
- angular - 如何在 ion-content 中渲染从 API 加载的 html
- python - 将行插入熊猫数据框中的随机位置
- android - 仅允许少数设备根据自定义规则访问 firebase 中的数据
- polly - 重置 Polly 重试次数
- python - 如何在pytest中只运行一次参数化测试
- java - 对于给定的 Date 对象,捕获它与 GMT 时区相关的值