20 Stimmen

Spring mvc Datumsformat mit form:input

Ich habe eine Hibernate-Entität und ein Bean:

@Entity
public class GeneralObservation {
    @DateTimeFormat(pattern = "dd/MM/yyyy")
    Date date;

    @Column
    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }
}

außerdem habe ich

@InitBinder
protected void initBinder(WebDataBinder binder) {
    SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
    binder.registerCustomEditor(Date.class, new CustomDateEditor(
            dateFormat, false));
}

und

        form:input
                id = "datepicker"
                name="date"
                itemLabel="date"
                path="newObservation.date"

Wenn ich meine URL besuche, sehe ich:

mein Formular

Wie kann ich es dazu zwingen, das Format mm/DD/yyyy zu haben? Danke

23voto

yname Punkte 2129

Sie können das fmt:formatDate JSTL-Tag verwenden:

8voto

Stepan Yakovenko Punkte 7499

Die Lösung besteht darin,
in die Datei mvc-dispatcher-servlet.xml einzufügen und auch xmlns:mvc="http://www.springframework.org/schema/mvc" am Anfang der XML-Datei hinzuzufügen.

5voto

Oibaf it Punkte 1792

Im Code verwende ich den Binder auf diese Weise:

@InitBinder
public void initBinder(WebDataBinder binder) {
    SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
    dateFormat.setLenient(false);
    binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
}

-2voto

Hassen Ch. Punkte 1583

In HTML5 gibt es den Eingabetyp "Datum", dasselbe gilt für Spring (Chrome, Opera und auch Safari, aber noch nicht für Firefox).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X