registrar un editor de la fecha en el controlador año:
@InitBinder
protected void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(LocalDate.class, new LocalDateEditor());
}
y luego el propio editor de datos puede tener este aspecto:
public class LocalDateEditor extends PropertyEditorSupport{
@Override
public void setAsText(String text) throws IllegalArgumentException{
setValue(Joda.getLocalDateFromddMMMyyyy(text));
}
@Override
public String getAsText() throws IllegalArgumentException {
return Joda.getStringFromLocalDate((LocalDate) getValue());
}
}
estoy usando mi propia clase de utilidad abstracta (Joda) para el análisis fechas, de hecho, LocalDates de Joda Datetime library - recomendado como la fecha/calendario estándar de Java es una abominación, imho. Pero deberías entender la idea. Además, puede registrar un editor global, por lo que no tiene que hacerlo cada controlador (no recuerdo cómo).
Gracias! eso es definitivamente mejor que mi solución. – davioooh
@davioooh Spring 3.0 +?Este es un capítulo relevante. Creo que http://static.springsource.org/spring/docs/current/spring-framework-reference/html/validation.html "using propertyregistars" muestra cómo hacerlo globalmente. – NimChimpsky
Sí, estoy usando Spring 3.1, pero todavía soy nuevo en esto ... (y Spring Framework en general ...) – davioooh