据我所知,Spring MVC允许绑定这样的对象:
@RequestMapping(...)
public void doSmth(MyObject obj) {
// All MyObject's fields are filled now
}
但是否存在一个优雅的解决方案,它允许绑定唯一的特定字段?
例如,类User
可能包含私人信息,例如注册时间戳,在使用公共对象绑定的情况下,可以很容易地被3d-party端替换。
所以需要像:
class User {
public String nick; <-- wanna bind this
public String pass; <-- and this
public Calendar timestamp; <-- but not this
...
}
有什么想法吗?
答案 0 :(得分:1)
尝试使用数据绑定器初始化。
例如,在控制器中使用@InitBinder
注释:
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.setDisallowedFields("timestamp");
}