2017-04-09 145 views
0

我有一个日期时间选择器的HTML表单提交和检索日期到我的Springboot实体和我的MySQL数据库。JPA日期没有格式化

我们在这个世界的这个地方使用dd/MM/yyyy hh:mm格式。

提交日期工作正常。当我尝试检索日期时,表单中没有显示任何内容。

的HTML如下:

<input type="text" class="form-control" name="start_date" th:text="${#start_date}" /> 

的Java的实体是这样的:

import javax.persistence.*; 
import javax.validation.constraints.NotNull; 
import java.util.Date; 
import java.util.List; 

@Entity 
public class Episode { 

protected Episode() {} 

@Id 
@GeneratedValue(strategy = GenerationType.IDENTITY) 
private Long id; 
... 
@Column(name="start_date") 
@DateTimeFormat (pattern="dd/MM/yyyy HH:mm") 
private Date start_date; 

存储在数据库中的实际值是这样的:

2017-01-25 18:01:23 

我本来期望实体中的模式会处理这个问题,但显然我错过了一些东西。

我也试图让thymeleaf做的格式有:

<input type="text" class="form-control" name="start_date" th:text="${#dates.format(start_date, 'dd/MM/yyyy HH:mm')}" /> 

但这是无效thymeleaf。

如何正确检索日期 - 最好在后端(java)中。

回答

0

您需要修改thymeleaf HTML:

<input type="text" class="form-control" name="start_date" th:value="${{episode.start_date}}" /> 
  1. 使用日:值,而不是日:文本

  2. 起始日期是一个独立的实体,以情节的关系,因此thymeleaf对象参考是episode.start_date

该实体不需要修改d。

你也需要用双括号,如 “{{”

参考http://www.thymeleaf.org/doc/tutorials/3.0/thymeleafspring.html#double-brace-syntax