Связывание данных с StructuredPropertyEditor, специфичным для типа и цели в Spring (Grails) - Выборочное приложение - PullRequest
0 голосов
/ 07 апреля 2010

Используя Grails 1.2.2, я работаю над связыванием структурированного свойства (Дата истечения срока действия CC) с java.util.Date, но только для определенных объектов Domain и Commands.

Я нашел StructuredPropertyEditor интерфейс, но единственный способ, который я нашел, чтобы зарегистрировать его, это использовать PropertyEditorRegistrar и зарегистрировать редактор для класса java.util.Date (очень , как в этом примере)

Я не хочу, чтобы все мои даты использовали мой собственный StructuredPropertyEditor.Как избирательно применить StructuredPropertyEditor к определенным целям, таким как определенные классы команд и доменов?

Ответы [ 2 ]

1 голос
/ 02 мая 2010

не можете ли вы указать пользовательский тип (модель срока действия cc) для регистрации? У меня это сработало для представления денег

public class CCExpirationPropertyEditorRegistrar implements PropertyEditorRegistrar {

    public void registerCustomEditors(PropertyEditorRegistry registry) {
      registry.registerCustomEditor(CCExpirationClass.class, new CCExpirationEditor());
    }
}
0 голосов
/ 29 января 2011

При использовании Grails большая часть привязки данных выполняется по типу и соглашению, тогда как в сыром Spring вы можете вручную создать этот материал.

После некоторого исследования, самое близкое, что я мог получить в Grails, - это зарегистрировать пользовательский редактор с определенным типом propertyName / Class. Я не смог сделать его конкретным для конкретного командного объекта или домена.

class CustomPropertyEditorRegistrar implements PropertyEditorRegistrar {

    void registerCustomEditors(PropertyEditorRegistry propertyEditorRegistry) {
        propertyEditorRegistry.registerCustomEditor(Date.class, "cardExpirationDate", new PaymentCardExpirationDateStructuredPropertyEditor(new SimpleDateFormat("MM/yy"), true))
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...