При использовании SpringMVC вы часто сталкиваетесь между строками дат в форме и типом даты Javabean, в то время как SpringMVC не поддерживает конверсии в этом формате по умолчанию, поэтому вам необходимо вручную настраивать и настраивать привязку данных для решения этой проблемы.
Используйте Annotation SpringMVC @InitBinder и класс Spring WebDateBinder, чтобы работать в контроллерах, которые требуют преобразования даты.
WebDataBinder используется для привязки параметров запроса с указанным редактором свойств. Поскольку значение, передаваемое контроллеру на переднем плане, имеет тип строки, когда установлено значение в модели, если свойство набора является объектом, Spring найдет соответствующий редактор для преобразования, а затем установит его.
Код заключается в следующем:
@Initbinder public void initbinder (webdatabinder binder) {simpledateformat dateformat = new SimpleDateFormat ("yyyy-mm-dd"); dateformat.setlenient (false); Binder.RegisterCustomeditor (date.class, New CustomDateEditor (dateFormat, true)); }Нужно добавить файл конфигурации в Springmvc
<!-Регистрация анализатора-> <Bean> <property name = "messageConverters"> <sist> <ref bean = "stringhttpmessageconverter"/> </list> </property> </bean> <!-String Type Parser, что позволяет прямое возвращение строки ---> <bean Id = "stringhttpmessageconverter"/>
Смена письма
<MVC: Annotation-Riven> <MVC: CONSERTERTERS> <BEAN> <constructor-arg value = "utf-8"/> </bean> </mvc: converterters> </mvc: annotation>
расширять:
Spring MVC зарегистрирует эти редакторы перед привязкой к форме. Сама весна предоставляет большое количество классов реализации, таких как CustomDateEditor, CustombooleAneDitor, CustomNumbereditor и т. Д., Которые в основном достаточно.
Вызовите метод QuestionCustomeditor WebDataBinder при использовании
Зарегистрированный код исходного кода:
Public void Registercustomeditor (класс <?> обязательный, PropertyDitor PropertyDitor) {getPropertyEditorRegistry (). RegisterCustomeditor (Eductype, PropertyDitor);} Первый параметр, требуемыйтип, - это тип, который необходимо преобразовать.
Второй Parameter PropertyTitor - это редактор свойств, который является интерфейсом. Вышеупомянутые примеры, такие как CustomDateEditor, все наследуют класс PropertyEditorSupport, который реализует этот интерфейс.
Мы также не можем использовать эти классы редактора, которые идут с ними.
Мы можем построить себя:
Import org.springframework.beans.propertyeditors.propertieseditor; открытый класс DoubleDitor расширяет PropertyTorSupport {@Override public void setaStxt (строковый текст) бросает allosalArgumentException {if (text = null || text.equals (")) {text =" 0 "; } setValue (double.parsedouble (text)); } @Override public String getaStxt () {return getValue (). ToString (); }}Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.