为什么setDisallowedFields为id? - Spring petclinic的例子

时间:2010-09-27 06:12:51

标签: spring spring-mvc

从Spring API,我知道@InitBinder用于初始化一些绑定规则..

在petclinic示例中为什么我们有setdisallowed("id")?当id没有显示在表单上时?

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

网页上没有显示id字段,那么为什么我们使用上面的代码?

我们可以有这样的事情:

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

根据上面的代码,虽然用户在表单上输入,但不会设置所有者对象的名字字段?这是对的吗?

link for the source

1 个答案:

答案 0 :(得分:5)

因为如果最终用户修改页面或请求(例如使用FireBug),它仍然可以提交。因此,即使您不想要这样,他也可以将值注入绑定对象。