Dans des circonstances normales, les paramètres adoptés par l'extrémité avant peuvent être directement reçus par SpringMVC, mais il y aura également des cas spéciaux, tels que l'objet de date. Lorsqu'une date est transmise à partir de mon front-end, le serveur doit personnaliser la liaison des paramètres et convertir la date de l'extrémité frontale. La liaison des paramètres personnalisés est également très simple et elle est divisée en deux étapes:
1. Convertisseur de paramètres personnalisés
Le convertisseur de paramètre personnalisé implémente l'interface du convertisseur, comme suit:
La classe publique DateConverter implémente le convertisseur <String, Date> {private SimpledateFormat SimpledateFormat = new SimpledateFormat ("yyyy-mm-dd"); @Override Public Date convert (String S) {if ("" .equals (s) || s == null) {return null; } essayez {return SimpledateFormat.Parse (s); } catch (parseException e) {e.printStackTrace (); } return null; }}La méthode Convert reçoit un paramètre de chaîne, qui est la chaîne de date envoyée à partir de l'extrémité avant. Cette chaîne satisfait le format Yyyy-mm-dd, puis convertit cette chaîne en un objet de date et revient via SimpledateFormat.
2. Configurez le convertisseur
WebmvcConfig personnalisé hérite webmvcconfigurerAdapter et le configure dans la méthode Addformatters:
@Configurationpublic class webmvcconfig étend webmvcconfigurerAdapter {@Override public void addformatters (formatterRegistry Registry) {registry.addConverter (new DateConverter ()); }}Ok, après les deux étapes ci-dessus, nous pouvons recevoir une date de chaîne à partir de l'extrémité avant et la convertir en un objet de date en Java. Le contrôle de la date avant est le suivant:
<el-date-picker V-model = "emp.birthday" size = "mini" valeur-format = "yyyy-mm-dd hh: mm: ss" type = "date" placeholder = "date de la naissance"> </ el-date-picker>
L'interface du serveur est la suivante:
@RequestMapping (value = "/ emp", méthode = requestMethod.post) public respbean addEmp (employé employé) {if (empservice.addemp (employé) == 1) {return new respbean ("Success", "ajouter réussi!"); } return new respbean ("error", "ajouter échoué!");}Il y a un attribut appelé Birthday in Employee, et le type de données de cet attribut est une date