一尘不染

本地日期格式

hibernate

我有一个关于Spring + Thymeleaf日期格式的问题。我有一个简单的实体与LocalDate date领域。我想以表单形式从用户那里获取此日期并将其保存到MySQL数据库。我收到这样的错误:

无法将类型java.lang.String的属性值转换为属性日期所需的类型java.time.LocalDate;嵌套异常是org.springframework.core.convert.ConversionFailedException:无法从类型java.lang.String转换为值2019-04-30的类型java.time.LocalDate。嵌套的异常是java.time.format.DateTimeParseException:无法在索引2处解析文本2019-04-30

我的实体:

@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

胸腺视图/形式:

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

这个问题的原因是什么?也许还有其他更好的存储日期的方法吗?


阅读 236

收藏
2020-06-20

共1个答案

一尘不染

问题解决了..我不知道为什么,但是将模板更改为:

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

并添加@DateTimeFormat(pattern = "yyyy-MM-dd")到实体字段即可解决该问题。

2020-06-20