Игнорировать ключи формы с помощью initBinder

Мне сказали, что initBinder может игнорировать некоторые ключи, переданные формой.

Допустим, у меня есть POJO с name, accountNumber и balance.

Пользователь публикует форму с обновлением accountNumber с новым balance, но пытается изменить форму и добавляет имя в сообщение.

Как игнорировать ключ имени и значение из этой формы, используя initBinder?

редактировать: я чувствую, что моя большая проблема заключается в непонимании того, что на самом деле делает initBinder. Так что даже помогая мне понять, что это делает, может помочь.


person stef52    schedule 23.07.2014    source источник


Ответы (1)


DataBinder имеет два свойства с именами allowedFields и disallowedFields, которые определяют, что разрешать (запрещать) для привязки. Просто используйте это в своем методе @InitBinder:

@InitBinder
public void initBinder(WebDataBinder binder) {
    binder.setDisallowedFields("administrator");
}
person Ankur Singhal    schedule 23.07.2014
comment
Теперь я убежден, что моя проблема заключается в непонимании того, что на самом деле делает initBinder. - person stef52; 23.07.2014