Spring MVC部分对象绑定

时间:2015-08-22 10:21:09

标签: spring spring-mvc data-binding

据我所知,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
   ...
}

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

尝试使用数据绑定器初始化。

例如,在控制器中使用@InitBinder注释:

@InitBinder
public void initBinder(WebDataBinder binder) {
  binder.setDisallowedFields("timestamp"); 
}