В проектах, использующих структуру SpringMVC, вы часто сталкиваетесь с данными, типы данных которых являются датой, целым числом, двойным и т. Д. Должны быть связаны с объектом контроллера, или контроллер должен принять эти данные. Если этот тип типа данных не обработан, он не будет связан.
Здесь мы можем использовать аннотацию @InitBinder для решения этих проблем, чтобы SpringMVC зарегистрировал эти редакторы перед привязкой к форме. Как правило, эти методы включены в базовый концертлер. Контроллер, который должен выполнить такую конверсию, должен только наследовать базовый контроллер. Фактически, Spring предоставляет много классов реализации, таких как CustomDateEditor, CustombooleAneDitor, CustomNumbereditor и т. Д., Которые в основном достаточно.
Демонстрация заключается в следующем:
открытый класс BaseController {@InitBinder Protected void initbinder (webdatabinder binder) {binder.registercustomeditor (date.class, new mydateeditor ()); Binder.RegisterCustomeditor (Double.Class, New DoubleEditor ()); Binder.RegisterCustomeditor (integer.class, new Integereditor ()); } Частный класс MyDateEditor Extends PropertyTorsUpport {@Override public void setaStxt (строковый текст) Throws allogalargumentException {simpleDateformat format = new SimpleDateFormat ("yyyy-mm-dd HH: MM: SS"); Дата даты = null; try {date = format.parse (text); } catch (parseException e) {format = new SimpleDateFormat ("yyyy-mm-dd"); try {date = format.parse (text); } catch (parseException e1) {}} setValue (date); }} public class DoubleEditor Extends PropertiesEditor {@Override public void setaStxt (строка текста) throws allosalargumentException {if (text == null || text.equals ("")) {text = "0"; } setValue (double.parsedouble (text)); } @Override public String getaStxt () {return getValue (). ToString (); }} public Class integerEditor Extends PropertiesEditor {@Override public void setaStxt (строка текст) Throws allogalArgumentException {if (text == null || text.equals ("")) {text = "0"; } setValue (integer.parseint (text)); } @Override public String getaStxt () {return getValue (). ToString (); }}}Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.