Почему я не могу зарегистрировать PropertyEditor для String в Spring MVC? - PullRequest
3 голосов
/ 28 декабря 2010

Я использую Spring 3.0.3.Я включил значение по умолчанию ConversionService, добавив эту строку в XML-конфигурацию Spring.

<mvc:annotation-driven/>

Я также использую пользовательские PropertyEditor для определенных типов данных, поэтому я зарегистрировал ихдля соответствующих типов данных, таких как приведенные ниже, и они работают нормально.

webDataBinder.registerCustomEditor(Date.class, new MyPropertyEditor());

У меня есть библиотека пользовательских тегов, которая расширяет библиотеку тегов формы Spring, и я могу получить доступ к этим PropertyEditor до getPropertyEditor() из AbstractDataBoundFormElementTag.

Чего я не понимаю, так это того, что по какой-то причине я не могу зарегистрировать пользовательский PropertyEditor для String.Следующее не будет работать.

webDataBinder.registerCustomEditor(String.class, new MyPropertyEditor());

Когда я делаю getPropertyEditor(), он всегда возвращает ConvertingPropertyEditorAdapter вместо MyPropertyEditor.

Это ошибка?

РЕДАКТИРОВАТЬ : Я понял, что не сделал некоторые вещи правильно.Весна работает просто отлично.

1 Ответ

0 голосов
/ 28 декабря 2010

Я посмотрел на код PropertyEditorRegistrySupport (весна 3.0.5), и все, что он делает:

customEditors.put(requiredType, propertyEditor);

Так что в теории это должно работать.Для String нет исключения.Можно ли убедиться, что это поведение соответствует?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...