Versäumt, den Eigenschaftswert des Typs Java.lang.String in den erforderlichen Typ Java.util.date umzuwandeln
Posted: 16 Apr 2025, 06:21
Ich erhalte diesen Fehler, wenn ich versuche, ein Datum in einem Formular einzugeben.
Code: Select all
@RequestMapping(value = "/docreatetask", method = RequestMethod.POST)
public String doCreateTask(Model model, @Valid Task task,
BindingResult result, Principal principal,
@RequestParam(value = "delete", required = false) String delete) {
System.out.println(">TaskController doCreateTask " + task);
if (result.hasErrors()) {
System.out.println("/docreatetask in here");
model.addAttribute("task", task);
System.out.println("+++++"+task.getDeadline());// deadline is null
return "createtask";
}
...
< /code>
[b]create.jsp[/b]
...
Task
Description
Deadline (dd/mm/yyyy)
...
< /code>
Im Controller habe ich Folgendes mit demselben Fehler (und verschiedenen Formaten wie "Yyyy /mm /dd") < /p>
geschrieben.@InitBinder
public void initBinder(WebDataBinder webDataBinder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
dateFormat.setLenient(false);
webDataBinder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
}
< /code>
Ich habe auch versucht, Annotation in der Klasse hinzuzufügen (auch mit verschiedenen Formaten), aber der gleiche Fehler < /p>
...
@Column(name = "deadline")
@DateTimeFormat(pattern = "dd/MM/yyyy")
private Date deadline;
...