я есть класс X с полем:послал текущую дату в Thymeleaf переменной
@DateTimeFormat(pattern = "dd/MM/yyyy HH:mm")
private Date updateDate;
У меня есть HTML с помощью метода = «пост»
<form class="form-horizontal"
th:action="@{/x/save}" method="post">
Я хочу, чтобы получить текущую дату и послал его с помощью POST в поле updateDate:
<span
th:text="${#dates.format(#dates.createNow(), 'dd/MM/yyyy HH:mm')}"
th:value="${#dates.format(#dates.createNow(), 'dd/MM/yyyy HH:mm')}"
th:id="*{updateDate}" th:name="*{updateDate}"></span>
проблема заключается в том, что дата не передается через POST в updateDate
поле. Я проверил его в браузере через Developer Tools
. я не могу использовать только th:field
здесь, потому что я хочу, текущую дату и я приобрести его с помощью:
th:value="${#dates.format(#dates.createNow(), 'dd/MM/yyyy HH:mm')}"
, как это он также не передается через POST:
<input
th:text="${#dates.format(#dates.createNow(), 'dd/MM/yyyy HH:mm')}"
th:value="${#dates.format(#dates.createNow(), 'dd/MM/yyyy HH:mm')}"
th:id="${updateDate}" th:name="${updateDate}" />
Но я вижу правильную дату в HTML ,
Решение:
<input name="updateDate" id="updateDate"
th:value="${#dates.format(#dates.createNow() , 'dd/MM/yyyy HH:mm')}" />
Осторожно:
это не идеальное решение:
- пользователь может управлять временем с помощью HTML изменить его перед отправкой.
- пользователь может открыть форму на 21.03, подождите 24 часа, а затем послал его, и время по-прежнему будет 21,03 ..
Если вы не хотите использовать Spring для привязки к введенному просто использовать обычный HTML идентификатор и атрибуты имя. Также вы не можете использовать элемент span для публикации данных. Вы должны использовать тег ввода –