2017-07-24 3 views
1

Ich versuche, Datum und Uhrzeit mit separaten Eingaben in Form zu bekommen. Bis jetzt funktioniert das Datum, aber die Zeit (Stunden und Minuten) mit zu erhalten, führt zu einem Fehler. Hier ist ein Teil meiner Entity-Klasse:Spring boot/Thymeleaf - Getting Time von Eingang

@Temporal(TemporalType.DATE) 
@DateTimeFormat(pattern = "yyyy-MM-dd") 
private Date start_date; 

@Temporal(TemporalType.TIME) 
@DateTimeFormat(pattern = "HH:mm") 
private Date start_hour; 

Hier ist der Teil der Form Ich bin mit Daten von Benutzern zu erhalten:

<div class="row"> 
    <div class="col-6"> 
     <label th:attr="for='start_date_'+${subject.id}">Start Date</label> 
     <input class="form-control" type="date" th:attr="id='start_date_'+${subject.id}" th:field="*{start_date}"/> 
    </div> 
    <div class="col-6"> 
     <label th:attr="for='start_time_'+${subject.id}">Start hour</label> 
     <input class="form-control" type="time" th:attr="id='start_time_'+${subject.id}" th:field="*{start_hour}"/> 
     </div> 
</div> 

ich einen Fehler halten bekommen:

There was an unexpected error (type=Bad Request, status=400). Validation failed for object='lesson'. Error count: 1

Ich habe die Datumseingabe und die Zeiteingaben getrennt getestet und es ist die Zeiteingabe, die mir Probleme bereitet.

Antwort

0

Versuchen Sie, Datentypen

java.sql.Date zu ändern und java.sql.Time

Oder wenn Sie auf Java sind 8

@Temporal(TemporalType.DATE) 
@DateTimeFormat(iso = ISO.DATE) 
private LocalDate start_date; 

@Temporal(TemporalType.TIME) 
@DateTimeFormat(iso = ISO.TIME) 
private LocalDateTime start_hour; 
0

Sehen Sie Ihre Fehler vielleicht ist es durch eine Validation Layer verursacht, dass es Ihr ablehnt Objekt. Ich empfehle Ihnen, zu versuchen, die Fehlerliste zu debuggen oder zu drucken und zu sehen, welche Art von Fehler Ihre Anfrage ablehnt.

0

Überprüfen Sie die @InitBinder Dokumente, es wird hilfreich sein, Ihr Problem zu lösen