Dans les projets utilisant le framework SpringMVC, vous rencontrez souvent des données dont les types de données sont date, entier, double, etc. Vous devez être lié à l'entité du contrôleur, ou le contrôleur doit accepter ces données. Si ce type de type de données n'est pas traité, il ne sera pas lié.
Ici, nous pouvons utiliser l'annotation @initbinder pour résoudre ces problèmes, afin que SpringMVC enregistre ces éditeurs avant de lier le formulaire. Généralement, ces méthodes sont incluses dans la base de base. Le contrôleur qui doit effectuer une telle conversion n'a besoin que de hériter de la base de base. En fait, Spring fournit de nombreuses classes d'implémentation, telles que CustomDateEditor, CustomBooleanEdiator, CustomNumberEditor, etc., qui sont fondamentalement suffisantes.
La démo est la suivante:
classe publique BasEController {@InitBinder Protected void initbinder (WebDatabinder Binder) {Binder.RegisterCustomEditor (Date.class, new MyDateEditor ()); Binder.RegisterCustomEditor (double.class, new Doubleditor ()); Binder.RegisterCustomEditor (Integer.class, new IntegeRiditor ()); } classe privée MyDateEditor étend PropertyEditorsupport {@Override public void setastext (String Text) lève illégalArgumentException {SimpledateFormat format = new SimpledateFormat ("yyyy-mm-dd hh: mm: ss"); Date de date = null; essayez {date = format.parse (texte); } catch (paSeException e) {format = new SimpledateFormat ("yyyy-mm-dd"); essayez {date = format.parse (texte); } catch (parseException e1) {}} setValue (date); }} classe publique DoubleDitor étend PropertiesEditor {@Override public void setastext (String text) lève illégalArgumentException {if (text == null || text.equals ("")) {text = "0"; } setValue (double.parsedouble (texte)); } @Override public String getastext () {return getValue (). ToString (); }} classe publique IntegeReditor étend PropertiesEditor {@Override public void setastext (String text) lève illégalArgumentException {if (text == null || text.equals ("")) {text = "0"; } setValue (Integer.ParseInt (texte)); } @Override public String getastext () {return getValue (). ToString (); }}}Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.