2015-08-22 80 views
0

據我所知,Spring MVC的允許其結合這樣的對象:Spring MVC的部分對象綁定

@RequestMapping(...) 
public void doSmth(MyObject obj) { 
// All MyObject's fields are filled now 
} 

但確實存在一個優雅的解決方案,允許其結合唯一特定領域?

例如,類User可能包含隱私信息,如註冊時間戳,在使用通用對象綁定的情況下,可以很容易地由3d方替換。

所以需要的是水木清華這樣的:

class User { 

    public String nick; <-- wanna bind this 
    public String pass; <-- and this 
    public Calendar timestamp; <-- but not this 
    ... 
} 

任何想法?

回答

1

嘗試使用數據聯編程序初始化。

例如使用@InitBinder註釋在控制器:

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