#thymeleaf
#thymeleaf
Вопрос:
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 на String, все будет в порядке. Я даже пробовал value=»» и th:value=»», но оно все еще генерируется как value=»0″. Я знаю, что могу написать id=»emloyer.id » имя=»emloyer.id » вместо th:field=»*{emloyer.id }». Но я хочу понять, почему он так себя ведет.
Я хочу показать значение заполнителя вместо значения по умолчанию. Как я могу заставить это работать?
Ответ №1:
По умолчанию int
значение 0
имеет an . Оно не может не иметь значения. Вы могли бы использовать Integer
значение set to null
, тогда Thymeleaf будет использовать value=""
.
Комментарии:
1. Не могли бы вы быть более конкретными. Должен ли я писать следующим образом: @Id частный целочисленный идентификатор
2. @paro Да, это правильно. Если вы хотите, чтобы я был более конкретным, вам тоже нужно быть более конкретным. Знаете ли вы разницу между
int
иInteger
в Java?