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:
Comment puis-je le forcer à avoir le format mm/DD/yyyy? Thanx
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.
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} .. />
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));
}