Весна пытается связать все поля - PullRequest
2 голосов
/ 23 сентября 2010

Использование пружины 3

У меня есть две формы: добавление элемента и аннулирование элемента У меня ItemAddEditCommand, который ссылается на Item и некоторые другие данные.

Добавление элемента работает отлично, но у меня есть проблема с аннулированием элемента. Обычно это форма редактирования, которая содержит два поля формы - expirationDate и comment.

В контроллере я использую одну и ту же команду для обоих действий. К сожалению, Spring пытается связать все поля при аннулировании. При начале аннулирования я заполняю ItemCommand экземпляром Item, в котором заполнены все возможные поля (включая id)

Когда пользователь вставляет expireDate и комментарий и отправляет форму, все остальные поля, кроме expiresDate и comment, обнуляются.

Есть ли другой способ, кроме создания другой команды

1 Ответ

3 голосов
/ 23 сентября 2010

Я думаю, что нашел это.

@InitBinder(value = { INVALIDATE_ITEM_PARAM })
protected void initInvalidateItemBinder(WebDataBinder binder) {
  DefaultBindInitializer.initBinder(binder);
  binder.setAllowedFields("expireDate", "comment");
  binder.setValidator(validator);
} 

Btw. Может быть, кто-нибудь может дать мне советы, как избавиться от DefaultBindInitializer.initBinder (binder); это инициализирует некоторые редакторы свойств, которые должны использоваться ВСЕГДА. Может быть, какой-нибудь bean-компонент для установки по умолчанию, чтобы мне не приходилось постоянно вызывать этот метод.

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