Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

304
Views
LocalDate en forma

Tengo una pregunta sobre el formato de fecha Spring + Thymeleaf. Tengo una entidad simple con campo de LocalDate date . Quiero obtener esta fecha de un usuario en forma y guardarla en la base de datos MySQL. Estoy recibiendo un error de este tipo:

No se pudo convertir el valor de propiedad del tipo java.lang.String al tipo requerido java.time.LocalDate para la fecha de la propiedad; la excepción anidada es org.springframework.core.convert.ConversionFailedException: no se pudo convertir del tipo java.lang.String al tipo java.time.LocalDate para el valor 2019-04-30; la excepción anidada es java.time.format.DateTimeParseException: el texto 2019-04-30 no se pudo analizar en el índice 2

Mi entidad:

 @Entity @Table(name="game") public class Game{ @Id @GeneratedValue(strategy = GenerationType.AUTO) private long id; @Transient private User gameOwner; private LocalDate date; private LocalTime time; //other fields

Vista / formulario de Thymeleaf:

 <form action="#" th:action="@{/games/addForm}" th:object="${gameForm}" method="post"> <p>Date: <input type="date" th:field="*{date}" /></p> </form>

¿Cuál es la razón de este problema? ¿Quizás hay otra forma mejor de almacenar la fecha?

about 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Problema resuelto. No sé por qué, pero cambiando mi plantilla a:

 <input type="date" th:value="*{date}" th:field="*{date}" />

y agregar @DateTimeFormat(pattern = "yyyy-MM-dd") al campo de entidad resolvió el problema.

about 4 years ago · Santiago Trujillo Report

0

import org.springframework.format.annotation.DateTimeFormat;

agregue la siguiente anotación arriba de la fecha.

 @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate date;

coloque un corchete adicional alrededor de la fecha. Convertirá la fecha en cadena.

 <form action="#" th:action="@{/games/addForm}" th:object="${gameForm}" method="post"> <p>Date: <input type="date" th:field="*{{date}}" /></p> </form>
about 4 years ago · Santiago Trujillo Report

0

Thymeleaf proporciona un módulo adicional para eso: https://github.com/thymeleaf/thymeleaf-extras-java8time

Agregar la siguiente dependencia (maven) debería ser suficiente:

 <dependency> <groupId>org.thymeleaf.extras</groupId> <artifactId>thymeleaf-extras-java8time</artifactId> </dependency>
about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!