OS: Windows Vista, Framework: Jqgrid (späteste), Frühling (späteste), JQuery (späteste) Ich benutze Jqgrid, um ein Formular zum Frühlings-Controller zu posten, um zu bestehen. Wenn der Spring-Controller versucht, die Anforderungsparameter automatisch an das Domänenobjekt zu binden, löst er eine Ausnahme aus, wenn er versucht, den Datentyp "Date" zu binden. Ich verwende das JSon-Format für die Übertragung von Daten. Das Jqgrid zeigt das Datum korrekt an. Die Übertragungszeichenfolge enthält '& -quot;' Zeichen vor und nach dem Datum, das die Ausnahme verursacht. Ich weiß nicht, wie man das Escape-Zeichen von Jqgrid entfernt. Ich weiß nicht, wie ich die Saite abfangen kann, bevor Spring eine Chance bekommt, automatisch zu binden. Danke im Vorraus für deine Hilfe.Jqgrid Frühling Datum bindende Ausnahme
public class JsonDateSerializer extends JsonSerializer<Date> {
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
AtOverride
public void serialize(Date date, JsonGenerator gen, SerializerProvider provider)
throws IOException, JsonProcessingException {
String formattedDate = dateFormat.format(date);
gen.writeString(formattedDate);
}
}
Mein Controller-Klasse hat initBinder Methode.
@InitBinder
public void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
binder.registerCustomEditor(String.class, new StringTrimmerEditor(true));
}
Exception stack trace
nested exception is org.springframework.core.convert.ConversionFailedException: Unable to convert value "2010-12-01 11:10:00" from type 'java.lang.String' to type 'java.util.Date'; nested exception is java.lang.IllegalArgumentException]
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doBind(HandlerMethodInvoker.java:820)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments(HandlerMethodInvoker.java:359)
Beachten Sie auch die URL. Das ist die URL, die Ihr Raster füllen sollte. – chris
Wo ist dein Blog? – blong