Domanda Could not parse date: Unparseable date con Spring

Antonio10.

Utente Silver
23 Maggio 2012
21
5
0
51
Salve,
sto tentando di inserire dei dati dalla mia applicazione fatta con Spring Boot al mio database mysql, ma quando faccio il submit mi lancia questa eccezione:

Codice:
Resolved [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'java.sql.Date'; nested exception is java.lang.IllegalArgumentException: Could not parse date: Unparseable date: "2018-06-17"]

Ho provato varie soluzioni per riuscire a fare il parsing della data ma nessuno ha avuto successo.

La mia classe Entity ho fatto questo:

Codice:
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
private Date dataCreazione;

Nella classe Controller questo:
Codice:
@RequestMapping(value="/aggiungi", method=RequestMethod.POST)
    public String inserimentoarticolo(@RequestParam(value = "dataCreazione") Date date, 
            @ModelAttribute("newArticolo") Articolo a, @ModelAttribute("newCategoria") Categoria c, 
            @ModelAttribute("newIva") Iva i, BindingResult result,
            HttpServletRequest request, HttpServletResponse response, Model model) throws ServletException, IOException {


        c=categoriaService.selectById(Integer.parseInt(request.getParameter("categorie")));
        i=ivaService.selectById(Integer.parseInt(request.getParameter("ive")));

        a.setCodArticolo(Integer.parseInt(request.getParameter("codArticolo")));
        a.setDescrizione(request.getParameter("descrizione"));
        a.setDataCreazione(date);
        a.setCategoria(c);
        a.setIva(i);


        articoloService.insArticolo(a);

        return "index";
    }

    @InitBinder
    public void initBinder(WebDataBinder binder) {
        SimpleDateFormat data = new SimpleDateFormat("dd-MM-yyyy");
        data.setLenient(false);
        binder.registerCustomEditor(Date.class, new CustomDateEditor(data, false));
    }

Nella JSP questo:
Codice:
<form:input id="dataCreazione" path="dataCreazione" type="date" pattern="dd-MM-yyyy" />


Quale può essere il problema? :(

Grazie :p
 
Scusami forse è una nota stupida che sto guardando ora.
L'errore segnala che la tua applicazione non riesce ad interpretare il dato "2018-06-17" ma vedo che nel codice
Java:
SimpleDateFormat data = new SimpleDateFormat("dd-MM-yyyy");
il formato di data è definito come dd-MM-yyyy quindi il dato dovrebbe essere "17-06-2018".