我正在開發我的第一個Spring 3 Web應用程序。在Spring 2中,我們使用formBackingObject從數據庫加載數據,然後讓Spring綁定更新一些字段,然後onSubmit將持續這些更改。Spring MVC是否需要複製/粘貼Entity到FormObject?
在春季3,看來我有兩個選擇:
- 讓用戶編輯持久化對象的100%。這意味着,該對象的ID將需要的隱藏字段
- 創建其持有的可編輯數據的表單對象,然後其映射到對持久對象提交
第一個選項是不是真正的選項,我們不能讓用戶編輯所有字段,而且我們寧願不在隱藏字段中顯示任何能夠按F12的人都可以更改值的數據。
第二種選擇似乎是一個體面的設計方法。但是,它似乎需要基本克隆每個可編輯的持久類。
@Entity
public class Company {
private String uuid; // not editable!
.. 30 other properties, 2 are not editable
}
public class CompanyForm {
.. 28 of above properties
}
,然後用大量的
public void map(CompanyForm cf, Company c) {
cf.setName(c.getName());
.. 27 other set(get())
}
我祈禱這一些映射機制不是「作爲設計的」 Spring的MVC的方式結合。然而,迄今爲止我發現的所有教程都非常簡單,從上面實現選項1。有沒有人對實施選項2有一些建議?
謝謝,西蒙