web-dev-qa-db-fra.com

format de date mvc printemps avec formulaire: entrée

J'ai une entité d'hibernation et un 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;
    }
}

aussi, j'ai

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

et

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

Quand je vais à mon URL, je vois:

my form

Comment puis-je le forcer à avoir le format mm/DD/yyyy? Thanx

19
Stepan Yakovenko

La solution est de mettre
<mvc:annotation-driven/> à mvc-dispatcher-servlet.xml et également xmlns: mvc = "http://www.springframework.org/schema/mvc" au début du fichier xml.

7
Stepan Yakovenko

Vous pouvez utiliser la balise jstl fmt: formatDate:

<fmt:formatDate value="${yourObject.date}" var="dateString" pattern="dd/MM/yyyy" />
<form:input path="date" value="${dateString} .. />
23
yname

dans mon code j'utilise le classeur de cette façon:

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