2017-04-09 4 views
0

Ich habe ein HTML-Formular mit einer Datumszeitauswahl zum Senden und Abrufen von Daten an meine Springboot-Entität und in meine MySQL-Datenbank.JPA Daten werden nicht formatiert

Wir verwenden TT/MM/JJJJ hh: mm Format in diesem Teil der Welt.

Einreichung von Daten funktioniert gut. Wenn ich versuche, ein Datum abzurufen, wird im Formular nichts angezeigt.

Die html wie folgt aussieht:

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

Die Java-Einheit wie folgt aussieht:

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; 

Der tatsächliche Wert in der Datenbank gespeichert sind wie folgt aussieht:

2017-01-25 18:01:23 

ich erwartet hätte das Muster in der Entität würde damit umgehen, aber mir fehlt eindeutig etwas.

Ich habe auch versucht immer thymeleaf die Formatierung mit dem zu tun:

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

Aber das ist ungültig thymeleaf.

Wie man das Datum richtig retreive - vorzugsweise im Backend (Java).

Antwort

0

Sie benötigen thymeleaf html ändern:

<input type="text" class="form-control" name="start_date" th:value="${{episode.start_date}}" /> 
  1. Verwendung th: Wert statt th: Text

  2. start_date mit einer Beziehung zu Folge, so dass die thymeleaf Objekt eine separate Einheit ist Referenz episode.start_date

Das Unternehmen muss nicht Modifie sein d.

Sie müssen auch doppelt geschweiften Klammern wie "{{"

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

verwenden
Verwandte Themen