2010-09-27 2 views
6

Из Spring API, я понял, что @InitBinder используется для инициализации некоторых обязательных норм ..Почему setDisallowedFields для id? - Весна petclinic пример

В petclinic примере, почему мы имеем setdisallowed("id")? когда идентификатор не отображается в форме?

@InitBinder 
public void setAllowedFields(WebDataBinder dataBinder) { 
    dataBinder.setDisallowedFields("id"); 
} 

Поле id не отображается на веб-странице, то почему мы используем вышеуказанный код?

мы можем иметь некоторые вещи, как это:

@InitBinder 
public void setAllowedFields(WebDataBinder dataBinder) { 
    dataBinder.setDisallowedFields("FirstName"); 
} 

согласно выше коде имя первого поля объекта владелец не будет установлен, хотя пользователь вводит в форме? Это верно?

link for the source

ответ

5

Потому что он все еще может быть представлен, если конечный пользователь изменяет страницу или запрос (например, с использованием FireBug). Таким образом, он может вводить значения в связанный объект, даже если вы этого не хотите.

+0

Спасибо Bozho за ваш ответ .. – javanoob

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