Unter normalen Umständen können die am vorderen Ende übergebenen Parameter direkt von SpringMVC empfangen werden, aber es werden auch einige Sonderfälle wie das Datumsobjekt geben. Wenn ein Datum von meinem Frontend übertragen wird, muss der Server die Parameterbindung anpassen und das Datum des Frontends konvertieren. Die benutzerdefinierte Parameterbindung ist ebenfalls sehr einfach und ist in zwei Schritte unterteilt:
1. Benutzerdefinierter Parameterwandler
Der benutzerdefinierte Parameterkonverter implementiert die Konverterschnittstelle wie folgt:
öffentliche Klasse DataConverter implementiert Converter <String, Datum> {private simpleDateFormat SimpleDateFormat = new SimpledateFormat ("yyyy-mm-dd"); @Override public date convert (string s) {if ("" .equals (s) || s == null) {return null; } try {return SimpledateFormat.Parse (s); } catch (parseException e) {e.printstacktrace (); } return null; }}Die konvertierende Methode empfängt einen String -Parameter, der die Datumszeichenfolge, die vom vorderen Ende gesendet wird. Diese Zeichenfolge erfüllt das YYYY-MM-DD-Format, wandelt diese Zeichenfolge dann in ein Datumsobjekt um und kehrt über SimpledateFormat zurück.
2. Konfigurieren Sie den Konverter
Benutzerdefinierte WebMVCConfig erbt WebMVCConFigurerAdapter und konfiguriert es in der AddFormatters -Methode:
@ConfigurationPublic Class webmvcconfig erweitert webmvcconFigurerAdapter {@Override public void addFormatters (Formatterregistry -Registrierung) {Registry.AddConverter (neuer datEconverter ()); }}OK, nach den oben genannten zwei Schritten können wir ein Zeichenfolgendatum vom vorderen Ende erhalten und es in ein Datumsobjekt in Java umwandeln. Das Front -End -Date -Steuerelement lautet wie folgt:
<el-date-picker v-model = "emp.birthday" size = "mini" value-format = "yyyy-mm-dd hh: mm: ss" type = "date" placeholder = "Datum der Geburt"> </el-date-picker>
Die Serverschnittstelle lautet wie folgt:
@RequestMapping (value = "/emp", method = requestMethod.post) public respBean addemp (Mitarbeitermitarbeiter) {if (empService.addemp (Mitarbeiter) == 1) {return New RespBean ("Erfolg", add erfolgreich! "); } return New RespBean ("Fehler", "fehlgeschlagen!");}Es gibt ein Attribut namens Geburtstag im Mitarbeiter, und der Datentyp dieses Attributs ist ein Datum