2017-04-09 146 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