当前位置: 首页 > news >正文

网站运营托管wordpress+网站白屏

网站运营托管,wordpress+网站白屏,asp网站开发后如何交付,手机qq邮箱发布了wordpress在平时的开发工作中#xff0c;经常遇到这样一个场景#xff0c;在数据库中存储了具有父子关系的数据#xff0c;需要将这些数据以树形结构的形式在界面上进行展示。本文的目的是提供了一个通用的编程模型#xff0c;解决将具有父子关系的数据转换成树形结构的问题。如有不…在平时的开发工作中经常遇到这样一个场景在数据库中存储了具有父子关系的数据需要将这些数据以树形结构的形式在界面上进行展示。本文的目的是提供了一个通用的编程模型解决将具有父子关系的数据转换成树形结构的问题。如有不正之处欢迎大家批评指正。编程模型我们以北京行政区划为例讲解整个模型。北京市市辖区 县市辖区东城区 西城区 朝阳区 丰台区 石景山区 海淀区 门头沟区 房山区 通州区 顺义区 昌平区 大兴区 怀柔区 平谷区县密云县 延庆县UML类图如下Tree结构TreeNode:定义树的节点对象nodeId树节点Id。nodeName树节点名称。parentNodeId树节点父Id。orderNum节点在树中的排序号在同一节点下进行排序。level当前树节点所在的层级根节点为第一层。parent当前树节点的父节点。children当前树节点的儿子节点。allChildren当前树节点的子孙节点。ITree定义树对象要实现的方法。getTree()以 List 形式返回树的所有的 TreeNode 对象。getRoot()以 List 形式返回树的根节点可能是一个或者多个。getTreeNode(String nodeId)根据 nodeId 返回对应的 TreeNode 对象。Tree实现 ITree 接口提供树的完整功能。getTree()以 List 形式返回树的所有的 TreeNode 对象。getRoot()以 List 形式返回树的根节点可能是一个或者多个。getTreeNode(String nodeId)根据 nodeId 返回对应的 TreeNode 对象。ITreeNode定义模板方法构造树形结构的类要实现该接口Tree 通过调用该接口中的方法获取 nodeId nodeName parentNodeId orderNum 数据。getNodeId()获取树节点Id。getNodeName()获取树节点名称。getParentNodeId()获取树节点父Id。getOrderNum()获取节点在树中的排序号在同一节点下进行排序。Org定义行政区划类实现 ItreeNode 接口。---------------------在平时的开发工作中经常遇到这样一个场景在数据库中存储了具有父子关系的数据需要将这些数据以树形结构的形式在界面上进行展示。本文的目的是提供了一个通用的编程模型解决将具有父子关系的数据转换成树形结构的问题。如有不正之处欢迎大家批评指正。编程模型我们以北京行政区划为例讲解整个模型。北京市市辖区 县市辖区东城区 西城区 朝阳区 丰台区 石景山区 海淀区 门头沟区 房山区 通州区 顺义区 昌平区 大兴区 怀柔区 平谷区县密云县 延庆县UML类图如下Tree结构TreeNode:定义树的节点对象nodeId树节点Id。nodeName树节点名称。parentNodeId树节点父Id。orderNum节点在树中的排序号在同一节点下进行排序。level当前树节点所在的层级根节点为第一层。parent当前树节点的父节点。children当前树节点的儿子节点。allChildren当前树节点的子孙节点。ITree定义树对象要实现的方法。getTree()以 List 形式返回树的所有的 TreeNode 对象。getRoot()以 List 形式返回树的根节点可能是一个或者多个。getTreeNode(String nodeId)根据 nodeId 返回对应的 TreeNode 对象。Tree实现 ITree 接口提供树的完整功能。getTree()以 List 形式返回树的所有的 TreeNode 对象。getRoot()以 List 形式返回树的根节点可能是一个或者多个。getTreeNode(String nodeId)根据 nodeId 返回对应的 TreeNode 对象。ITreeNode定义模板方法构造树形结构的类要实现该接口Tree 通过调用该接口中的方法获取 nodeId nodeName parentNodeId orderNum 数据。getNodeId()获取树节点Id。getNodeName()获取树节点名称。getParentNodeId()获取树节点父Id。getOrderNum()获取节点在树中的排序号在同一节点下进行排序。Org定义行政区划类实现 ItreeNode 接口。实现代码TreeNode类package com.ips.tree;import java.util.ArrayList;import java.util.List;import com.alibaba.fastjson.annotation.JSONField;/*** Title: 树节点* Description:一棵树由许多包含父子关系的节点组成 * author  liuzhibo* date    2017年1月18日*/public class TreeNode {//树节点IDJSONField(ordinal1)private String nodeId;//树节点名称JSONField(ordinal2)private String nodeName;//父节点IDJSONField(ordinal3)private String parentNodeId;//节点在树中的排序号JSONField(ordinal4)private int orderNum;//节点所在的层级JSONField(ordinal5)private int level;private TreeNode parent;//当前节点的二子节点JSONField(ordinal6)private List children new ArrayList();//当前节点的子孙节点private List allChildren new ArrayList();public TreeNode(ITreeNode obj){this.nodeId obj.getNodeId();this.nodeName obj.getNodeName();this.parentNodeId obj.getNodeParentId();this.orderNum obj.getOrderNum();}public void addChild(TreeNode treeNode){this.children.add(treeNode);}public void removeChild(TreeNode treeNode){this.children.remove(treeNode);}public String getNodeId() {return nodeId;}public void setNodeId(String nodeId) {this.nodeId nodeId;}public String getNodeName() {return nodeName;}public void setNodeName(String nodeName) {this.nodeName nodeName;}public String getParentNodeId() {return parentNodeId;}public void setParentNodeId(String parentNodeId) {this.parentNodeId parentNodeId;}public int getLevel() {return level;}public void setLevel(int level) {this.level level;}public TreeNode getParent() {return parent;}public void setParent(TreeNode parent) {this.parent parent;}public List getChildren() {return children;}public void setChildren(List children) {this.children children;}public int getOrderNum() {return orderNum;}public void setOrderNum(int orderNum) {this.orderNum orderNum;}public List getAllChildren() {if(this.allChildren.isEmpty()){for(TreeNode treeNode : this.children){this.allChildren.add(treeNode);this.allChildren.addAll(treeNode.getAllChildren());}}return this.allChildren;}}123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101ITree接口package com.ips.tree;import java.util.List;public interface ITree {public List getTree();public List getRoot();public TreeNode getTreeNode(String nodeId);}123456789Tree类package com.ips.tree;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;public class Tree implements ITree {private HashMap treeNodesMap new HashMap();private List treeNodesList new ArrayList();public Tree(List list){initTreeNodeMap(list);initTreeNodeList();}private void initTreeNodeMap(List list){TreeNode treeNode null;for(ITreeNode item : list){treeNode new TreeNode(item);treeNodesMap.put(treeNode.getNodeId(), treeNode);}Iterator iter treeNodesMap.values().iterator();TreeNode parentTreeNode null;while(iter.hasNext()){treeNode iter.next();if(treeNode.getParentNodeId() null || treeNode.getParentNodeId() ){continue;}parentTreeNode treeNodesMap.get(treeNode.getParentNodeId());if(parentTreeNode ! null){treeNode.setParent(parentTreeNode);parentTreeNode.addChild(treeNode);}}}private void initTreeNodeList(){if(treeNodesList.size() 0){return;}if(treeNodesMap.size() 0){return;}Iterator iter treeNodesMap.values().iterator();TreeNode treeNode null;while(iter.hasNext()){treeNode iter.next();if(treeNode.getParent() null){this.treeNodesList.add(treeNode);this.treeNodesList.addAll(treeNode.getAllChildren());}}}Overridepublic List getTree() {return this.treeNodesList;}Overridepublic List getRoot() {List rootList new ArrayList();if (this.treeNodesList.size() 0) {for (TreeNode node : treeNodesList) {if (node.getParent() null)rootList.add(node);}}return rootList;}Overridepublic TreeNode getTreeNode(String nodeId) {return this.treeNodesMap.get(nodeId);}}1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980ITreeNode 接口package com.ips.tree;public interface ITreeNode {public String getNodeId();public String getNodeName();public String getNodeParentId();public Integer getOrderNum();}12345678Org 类package com.ips.tree;public class Org implements ITreeNode {private String uuid;private String parentId;private String name;private Integer orderNum;private String code;private String type;public Org(){}public Org(String uuid, String parentId, String name, Integer orderNum, String code, String type){this.uuid uuid;this.parentId parentId;this.name name;this.orderNum orderNum;this.code code;this.type type;}Overridepublic String getNodeId() {return this.uuid;}Overridepublic String getNodeName() {return this.name;}Overridepublic String getNodeParentId() {return this.parentId;}Overridepublic Integer getOrderNum() {return this.orderNum;}public String getUuid() {return uuid;}public void setUuid(String uuid) {this.uuid uuid;}public String getParentId() {return parentId;}public void setParentId(String parentId) {this.parentId parentId;}public String getName() {return name;}public void setName(String name) {this.name name;}public String getCode() {return code;}public void setCode(String code) {this.code code;}public String getType() {return type;}public void setType(String type) {this.type type;}public void setOrderNum(Integer orderNum) {this.orderNum orderNum;}}12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485TreeDemo 类执行该类的 main 方法查看效果。package com.ips.tree;import java.util.ArrayList;import java.util.List;import com.alibaba.fastjson.JSONObject;import com.alibaba.fastjson.serializer.SimplePropertyPreFilter;public class TreeDemo {public static void main(String[] args) {Tree tree new Tree(genOrgList());TreeNode treeNode tree.getTreeNode(2);SimplePropertyPreFilter filter new SimplePropertyPreFilter(); // 构造方法里也可以直接传需要序列化的属性名字filter.getExcludes().add(parent);filter.getExcludes().add(allChildren);String data JSONObject.toJSONString(treeNode, filter);System.out.println(data);}public static List genOrgList(){List list new ArrayList();Org org new Org(2, 1, 北京市, 2, 110000, 2);list.add(org);org new Org(3, 2, 市辖区, 3, 110100, 3);list.add(org);org new Org(4, 3, 东城区, 4, 110101, 4);list.add(org);org new Org(5, 3, 东城区, 5, 110102, 4);list.add(org);org new Org(6, 3, 东城区, 6, 110105, 4);list.add(org);org new Org(7, 3, 东城区, 7, 110106, 4);list.add(org);org new Org(8, 3, 东城区, 8, 110107, 4);list.add(org);org new Org(9, 3, 东城区, 9, 110108, 4);list.add(org);org new Org(10, 3, 东城区, 10, 110109, 4);list.add(org);org new Org(11, 3, 东城区, 11, 110111, 4);list.add(org);org new Org(12, 3, 东城区, 12, 110112, 4);list.add(org);org new Org(13, 3, 东城区, 13, 110113, 4);list.add(org);org new Org(14, 3, 东城区, 14, 110114, 4);list.add(org);org new Org(15, 3, 东城区, 15, 110115, 4);list.add(org);org new Org(16, 3, 东城区, 16, 110116, 4);list.add(org);org new Org(17, 3, 东城区, 17, 110117, 4);list.add(org);org new Org(18, 2, 县, 3, 110200, 3);list.add(org);org new Org(19, 18, 密云县, 19, 110228, 4);list.add(org);org new Org(20, 18, 延庆县, 20, 110229, 4);list.add(org);return list;}}123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566执行结果如下{nodeId: 2,nodeName: 北京市,parentNodeId: 1,orderNum: 2,level: 0,children: [{nodeId: 18,nodeName: 县,parentNodeId: 2,orderNum: 3,level: 0,children: [{nodeId: 19,nodeName: 密云县,parentNodeId: 18,orderNum: 19,level: 0,children: []},{nodeId: 20,nodeName: 延庆县,parentNodeId: 18,orderNum: 20,level: 0,children: []}]},{nodeId: 3,nodeName: 市辖区,parentNodeId: 2,orderNum: 3,level: 0,children: [{nodeId: 17,nodeName: 东城区,parentNodeId: 3,orderNum: 17,level: 0,children: []},{nodeId: 15,nodeName: 东城区,parentNodeId: 3,orderNum: 15,level: 0,children: []},{nodeId: 16,nodeName: 东城区,parentNodeId: 3,orderNum: 16,level: 0,children: []},{nodeId: 13,nodeName: 东城区,parentNodeId: 3,orderNum: 13,level: 0,children: []},{nodeId: 14,nodeName: 东城区,parentNodeId: 3,orderNum: 14,level: 0,children: []},{nodeId: 11,nodeName: 东城区,parentNodeId: 3,orderNum: 11,level: 0,children: []},{nodeId: 12,nodeName: 东城区,parentNodeId: 3,orderNum: 12,level: 0,children: []},{nodeId: 10,nodeName: 东城区,parentNodeId: 3,orderNum: 10,level: 0,children: []},{nodeId: 7,nodeName: 东城区,parentNodeId: 3,orderNum: 7,level: 0,children: []},{nodeId: 6,nodeName: 东城区,parentNodeId: 3,orderNum: 6,level: 0,children: []},{nodeId: 5,nodeName: 东城区,parentNodeId: 3,orderNum: 5,level: 0,children: []},{nodeId: 4,nodeName: 东城区,parentNodeId: 3,orderNum: 4,level: 0,children: []},{nodeId: 9,nodeName: 东城区,parentNodeId: 3,orderNum: 9,level: 0,children: []},{nodeId: 8,nodeName: 东城区,parentNodeId: 3,orderNum: 8,level: 0,children: []}]}]}123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149注该示例中使用了 alibaba 的 fastjson 实现类对象序列化maven 依赖如下com.alibabafastjson1.2.20---------------------作者zhiboer来源CSDN原文https://blog.csdn.net/claram/article/details/54616485版权声明本文为博主原创文章转载请附上博文链接
http://www.zqtcl.cn/news/914883/

相关文章:

  • 网站建设完成之后要索取哪些医疗网站建设服务
  • 长沙招聘网站有哪些深圳seo论坛
  • 网站如何做网络推广山西住房建设厅官方网站
  • 优化排名推广技术网站平面设计创意
  • 山西网站建设哪家有tv域名的网站
  • 个人博客网站怎么赚钱公司招聘一个网站建设来做推广
  • 功能型网站有哪些中国门户网站有哪些
  • 网站制作教程步骤软件公司怎么赚钱
  • 看世界杯网址网站更新seo
  • 深圳网站做的好的公司商洛做网站电话
  • 环保部网站官网建设项目审批做网站推广赚钱吗
  • 北仑建设局网站东莞市seo网络推广价格
  • 大专学历怎么自考优化建站
  • 网站上的图片怎么替换中国电力建设集团网站
  • 开发手机网站步骤手机网站前端开发布局技巧
  • 文山文山市网站建设网站建设管理教程视频
  • 深圳建筑业协会官网seo短视频新地址在哪里
  • 学院宣传网站制作大型网站团队人数
  • 新品发布会ppt参考友山建站优化
  • 做网站云服务器装系统厦门网站建设哪家强
  • 网站建设顶呱呱东莞建设信息网官网
  • 化妆品网站下载企业宣传片报价明细
  • php建设网站怎么用网站建设忽悠
  • 网站软件app免费注册账号qq
  • 清河网站建设公司西安开发网站的公司
  • 怎么用自己的服务器做网站软件接口设计文档
  • 昆明做网站建设找谁郑州网站制作的公司哪家好
  • 天津seo网站推广如何做医美机构网站观察分析
  • 东莞网站到首页排名网站建设与设计主要是干什么的
  • 自己做网站要花钱吗个人网站可以做资讯吗