Я только что создал ваш пример, используя это как контроллер:
@Controller
public class StackOverflow {
@GetMapping("/stack")
public String template(Model m) {
m.addAttribute("datum", new Datanum());
return "stackoverflow.html";
}
@PostMapping("/stack2")
public String testum(@ModelAttribute Datanum user) {
System.out.println(user.getDate());
return null;
}
}
это как представление:
<!DOCTYPE html>
<html xmlns:th="http://www.thymleaf.org">
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form th:action="@{/stack2}" th:object="${datum}" method="post">
<p>date : <input type="date" th:field="*{date}"/> </p>
<p><input type="submit" value="Submit" /> <input type="reset" value="Reset" /></p>
</form>
</body>
</html>
и это как Bean
import java.time.LocalDate;
import org.springframework.format.annotation.DateTimeFormat;
public class Datanum{
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate date;
public LocalDate getDate() {
return date;
}
public void setDate(LocalDate date) {
this.date = date;
}
}
и этоработал:
Разница, которую я вижу в том, что вы используете var наваш Боб
var date: LocalDate? = null
Я думаю, что это Java 10, не так ли?почему бы вам не попробовать использовать
bean-компонент, как я, возможно, это могло бы вам помочь.
вместо var используйте LocalDate
надеюсь, это сработает