2010-09-27 25 views
6

Từ API mùa xuân, tôi hiểu rằng @InitBinder được sử dụng để khởi tạo một số quy tắc ràng buộc ..tại sao setDisallowedFields cho id? - Mùa xuân petclinic dụ

Trong ví dụ petclinic lý do tại sao chúng tôi có setdisallowed("id")? khi id không được hiển thị trên biểu mẫu?

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

Trường id không được hiển thị trên trang web thì tại sao chúng tôi sử dụng mã ở trên?

chúng ta có thể có một số điều như thế này:

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

theo mã trên trường tên đầu tiên của đối tượng sở hữu sẽ không được thiết lập mặc dù dùng nhập vào hình thức? Đúng không?

link for the source

Trả lời

5

Bởi vì nó vẫn có thể được gửi nếu người dùng cuối sẽ thay đổi trang hoặc theo yêu cầu (ví dụ sử dụng Firebug). Vì vậy, ông có thể tiêm các giá trị vào đối tượng bị ràng buộc của bạn ngay cả khi bạn không muốn điều này.

+0

Cảm ơn Bozho đã trả lời của bạn .. – javanoob

Các vấn đề liên quan