从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");
}
根据上面的代码,虽然用户在表单上输入,但不会设置所有者对象的名字字段?这是对的吗?
答案 0 :(得分:5)
因为如果最终用户修改页面或请求(例如使用FireBug),它仍然可以提交。因此,即使您不想要这样,他也可以将值注入绑定对象。