Ho un semplice controller Primavera:Set default/formato della data globale in Spring MVC a ISO 8601
@RequestMapping(value="", method=RequestMethod.GET)
public void search(MyDTO dto) {
// ...
}
E MyDTO
:
public class MyDTO {
private DateTime date;
public DateTime getDate() { return date; }
public void setDate(DateTime date) { this.date = date; }
}
Io in realtà possibile chiamare il metodo di controllo con la mia data locale formato: 03.10.2013 01:00
, ad es GET http://localhost:8080/test?date=03.10.2013 01:00
Ma voglio applicazione larga formato data ISO 8601, ad esempio: 2007-03-01T13:00:00Z
Se uso formato ISO ottengo il seguente errore:
Failed to convert property value of type 'java.lang.String' to required type
'org.joda.time.DateTime' for property 'date'; nested exception is
org.springframework.core.convert.ConversionFailedException: Failed to convert
from type java.lang.String to type org.joda.time.DateTime for value
'2013-09-25T23:05:18.000+02:00'; nested exception is
java.lang.IllegalArgumentException: Invalid format:
"2013-09-25T23:05:18.000+02:00" is malformed at "13-09-25T23:05:18.000+02:00"
Ci deve essere un modo per cambiarlo per java.util.Date
e anche tutti quei contenitori di data e ora di Joda.
Ho appena trovato il metodo addFormatters(FormatterRegistry registry)
all'interno di WebMvcConfigurationSupport
, ma non so davvero come usarlo.