最近用到企业通讯录,虽然以前也开发过,但是用的是jsf,拼成的树形,及其笨重和难维护。后来就想到直接生成json格式字符串,页面上也好展现。
// 首先取出每个部门的联系人
for (int i = 0; i < depList.size(); i++) {
List<Contacts> list = getContactList(depList.get(i), contactList);
if (!CollectionUtils.isEmpty(list))
depList.get(i).setContactList(list);
}
//做一次嵌套循环,取出部门的所有子部门
for (int j = 0; j < depList.size(); j++) {
for (int i = 0; i < depList.size(); i++) {
List<Department> list = getSubDepartment(depList.get(i).getDepartmentId(), depList);
if (!CollectionUtils.isEmpty(list))
depList.get(i).setDepartmentList(list);
}
}
List<Department> list = new ArrayList<Department>();
// 这里去除非顶级部门
for (int i = 0; i < depList.size(); i++) {
Department d = depList.get(i);
if (depList.get(i).getParentDepartment() == null || depList.get(i).getParentDepartment().intValue() == 0) {
list.add(d);
}
}
return list;
部门实体:
private Integer departmentId;//部门id
private Integer type;//类型
private String name;//名称
private Integer parentDepartment;//上级部门
private Integer companyId;//企业代码
private List<Department> depList;//子部门列表
private List<Contacts> contactList;//联系人列表
联系人实体:
private Integer contactsId;//联系人代码
private Integer companyId;//企业代码
private String name;//联系人名称
private String email;//邮件
private String description;//备注
private String mobile;//邮件
private String telephone;//电话
private Integer departmentId;//所属部门代码
json生成:
Gson gson=new Gson();
return gson.toJson(obj);
分享到:
相关推荐
通过树形列表和树状图的界面展示,用户能够直观地查看和操作联系人信息。 首先,我们要了解Java编程语言。Java是一种跨平台的面向对象的编程语言,它的“一次编写,到处运行”特性使得开发的程序能在不同操作系统上...
2. **DOM解析器**:DOM解析器会将整个XML文件加载到内存中形成一个树形结构,允许开发者通过节点遍历来访问和修改数据。虽然DOM占用内存较大,但其提供了对XML文档的全局视图,适用于小型XML文件或对速度要求不高的...
这些库提供了丰富的组件,如按钮、文本框、树形视图等,用于创建多级树状图展示联系人结构。 4. **多级树状图**:在Swing或JavaFX中,JTree或TreeView组件用于实现多级树状图,这可能用于按类别或字母顺序组织联系...
分组管理则可能涉及树形结构(如JTree)来组织联系人,方便用户按类别查看。 此外,考虑到软件的可维护性和扩展性,良好的代码组织和模块化设计是关键。Java提倡使用设计模式,如工厂模式用于创建对象,单例模式...
是带有界面的日记本,利用属性结构和文件的输入输出流实现的,对于刚学习java的同志们有很大帮助的哦,而且比较实用的,绝对路径保存,在工程文件夹下就可以找到你保存的文件,QQ:389020106,喜欢的朋友加QQ哦
比如,每个联系人可以被视为一个对象,包含了姓名、电话、邮箱等属性,而分组则可以通过类的嵌套或者树形结构来实现。 接下来,我们来看看“名片的增删改查”这一关键功能。在Java中,这通常通过集合框架如...
Java Swing 是 Java 的一个图形用户界面(GUI)组件库,提供了大量的 GUI 组件,例如按钮、标签、文本框、表格、树形控件等。Java Swing 的主要特点是轻量级、高效、跨平台、可扩展性强。 JDialog 类 JDialog 是 ...
在给出的代码中,`addressListService.getTree()`方法用于获取公司的部门树形结构数据,这些数据通常存储在后台数据库中,以JSON格式返回给前端。`JSONArray.fromObject(jsList)`将部门列表转换为JSON数组,便于前端...
此外,如果需要对员工信息进行排序或搜索,还可以利用集合或树形数据结构,如二叉搜索树。 接着,我们要设计用户界面,这是用户与程序交互的窗口。用户界面应简洁易用,通常包括输入框用于检索或编辑信息,以及显示...
在Java编程语言中,DOM(Document Object Model)是一种解析XML文档的标准方法,它将XML文件转化为一个树形结构,使得开发者可以方便地访问和操作XML文档的每一个元素。本项目"DOM解析XML文件并实现通讯录"就是利用...
【标题】:“通讯录管理系统java程序” 这个标题表明我们讨论的是一个使用Java编程语言开发的通讯录管理系统。在计算机科学中,通讯录管理系统是一种应用程序,它允许用户存储、组织、检索和管理联系人的个人信息,...
1. **设计数据结构**:构建表示组织架构的数据模型,可能是一个树形结构,包含部门节点和员工节点,每个节点包含必要的信息如名称、下属节点等。 2. **创建Fragment**:为每个部门创建对应的fragment,其中包含展示...
上篇文章我提到了通讯录的开发,里面的目录使用了vue的递归组件实现的树形目录,这篇文章就来讲讲如何实现树形目录吧! 首先实现效果如下,觉得菜单还是比较nice的是吧: 这边数据调用的是数据库的数据的,需要...
DOM解析器会将整个XML文件加载到内存中,形成一个树形结构,适合处理小到中等规模的XML文档。而SAX解析器采用事件驱动的方式,逐行读取XML文件,适合处理大型XML文件以避免内存消耗。 对于多级XML,DOM解析更便于...
1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...
在C语言环境下,这可能涉及到链表、树形结构或者哈希表等数据结构,用于高效地存储和查找联系人信息。这些信息包括姓名、电话号码、电子邮件地址、家庭住址、生日等。 1. **数据结构设计**: - 链表:适用于动态...
在设计上,可以使用树形结构或者图结构来表示联系人与分组的关系,使得查询和操作分组变得直观且高效。 此外,考虑到跨平台的需求,通讯录集合框架可能还需要支持云同步和备份功能。这意味着当用户在不同设备上登录...
对于数据结构的设计,可以采用树形结构来组织联系人,每个节点代表一个分组,节点下的子节点为该分组的联系人。这样可以方便地进行分组操作,同时优化查询效率。例如,可以使用HashMap存储分组,键为分组名,值为...
解析器读取XML文档并创建一个树形结构,使得我们可以遍历和访问各个元素。 6. **XML DOM(Document Object Model)**: DOM是一种标准接口,允许程序和脚本动态更新、添加和删除XML文档的任意部分。在通讯录应用中...
1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...