背景
画面のインプットボックスに2025/03/11 18:01を入力して、バックエンドに送信して、再表示はTue Mar 11 18:01:00 JST 2025になっています。
原因
Dateフォーマットが未設定なっています。
public class form {
@DateTimeFormat (pattern = "yyyy/MM/dd HH:mm")
private Date startDate;
}
調査経緯
<form th:object:testform>
<input id="startDate" name="startDate" th:field="*{startDate}"
th:value="${#dates.format(start, 'yyyy/MM/dd')}" type="text">
</input>
</form>
最初はth:fieldとth:valueの関係が分かりません。js側で日付のフォーマットを"yyyy/MM/dd HH:mm"にして、表示するのは問題ないはずと思いました。
このth:valueがここでは余計なものだと思います。
参考: