2015-01-08 5 views
0

Я читаю Validator part in Spring3 Reference, где представлены PropertyEditorDataBinderConversionServiceFormatter.Свойство DataEditor весной 3

ИМО, эти компоненты используются для преобразования объекта в строку и строки объекта, например, в веб-приложения Spring, параметры запросов HTTP может быть разобран и собран в виде объекта, как это:

@Controller 
public class UserController { 

    @RequestMapping("/user", method=RequestMethod.POST) 
    public void addUser(User user) { /* ... */ } 
} 

с HTML:

<form> 
    <input name="user.name" /> 
    <input name="user.email" /> 
</form> 

Где объект user должен быть автоматически создан и наполнен свойств из формы HTTP.

Но я смущен с PropertyEditorDataBinderConversionServiceFormatter концепции.

Есть ли четкое объяснение?

ответ

1

PropertyEditor является частью JDK. Он предназначен для форм в настольных приложениях и представляет собой не просто простой конвертер. Он поддерживается весной, но я не рекомендую его.

A Formatter является специализированным String < -> преобразователь другого типа. Он используется, когда тип может быть представлен в виде строки в различных форматах (sic!). Даты, например.

Конверсии произвольного типа в основном выполняются с помощью Converter или GenericConverter.

DataBinder - это компонент, который управляет всем процессом. Прежде чем метод контроллера называется Spring, он создает DataBinder и вызывает его метод bind. Связующее вызывает необходимые услуги преобразования, которые, в свою очередь, вызывают конвертеры.

Смежные вопросы