当前位置:  开发笔记 > 编程语言 > 正文

Spring MVC表单支持对象树初始化的最佳实践

如何解决《SpringMVC表单支持对象树初始化的最佳实践》经验,为你挑选了0个好方法。

如果我有一个具有复杂对象树的表单支持对象 - 比如一个具有Contact Info对象的Person,该对象具有一堆具有一串字符串的Address对象 - 似乎该对象需要完全填充组件我可以绑定它之前的对象.因此,如果我正在创建一个新的Person,我需要确保它已经从bat中填充了所有组件对象,如果我从数据库中检索Person,我需要确保任何不是的对象从数据库填充后填充空对象.

第一个问题,当然 - 我的上述假设是否正确?似乎如果我尝试绑定到person.contactInfo.homeAddress.street并且没有ContactInfo,我会得到一个空指针异常.

其次,初始化对象的最佳方法是什么.我可以想到几种方法.一种是在声明时初始化所有成员对象:

public class Person {
     String name;
     ContactInfo contactInfo = new ContactInfo();
     //getters, setters, etc.
}

public class ContactInfo {
     String phone;
     Address homeAddress = new Address();
}

等等.

另一种方法是让PersonFactory初始化所有东西(或者有一个初始化所有东西的工厂方法Person.getInstance).

在从数据库中检索Person的情况下,第一种方法将解决问题(即,如果此特定人员在数据库中没有地址,则该对象仍将具有地址),但这将意味着创建每个对象两次.不知道如何处理这个问题,除非使DAO显式填充所有内容,即使从数据库中没有检索到任何内容.或者给工厂一个方法来浏览对象并"填写"任何缺失的东西.

建议?

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有