你的位置:首页 > 软件开发 > Java > 产品分类树形展示的Java实现

产品分类树形展示的Java实现

发布时间:2015-03-21 12:02:14
这种视图结构可能被用在菜单,或者某种体现分类的信息上面等等。今天就让我们来探讨下怎么从后端去实现这样的一个内容!如果是Java使用者那就比较熟悉这其中的语法了。首先看下前端浏览器的效果:从其中不难发现,这是个分类信息展示,而且具有多级效果,业务上是需要无限极的特点的,上级和下级具 ...

这种视图结构可能被用在菜单,或者某种体现分类的信息上面等等。今天就让我们来探讨下怎么从后端去实现这样的一个内容!如果是Java使用者那就比较熟悉这其中的语法了。

首先看下前端浏览器的效果:

产品分类树形展示的Java实现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.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**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" />

数据库内需要存在以上4个信息以上才能很方便地展示出刚才的效果,至少目前来看是拥有足够的信息了。那么接下来咱们的业务层如何去处理?

下面我定义了一个transform方法,用于取出数据库内所有的分类数据,并且转换为相对应的TreeNode对象的集合。这个TreeNode集合是一个彼此有关系的对象集合,TreeNode至少拥有如此的属性:id、text、children,其中children又是一个TreeNode对象的集合,代表子分类对象的集合。

public List<TreeNode> transform() {        // Do sorting this categories,by level attribute value.The level 0 is                // The min level will be sorted to the top        // Initial list of tree nodes        for (Category category : categories) {            // If the category's super id is null,that means it is a root        return treeNodes;

}

transform方法内,首先调用数据访问层的方法将分类数据全部取出来,并返回一个领域对象的集合,这个领域对象跟数据库的结构是属于对应关系的,肯定是不能直接拿来用在显示上面的,这里并没有使用像Hibernate那种的ORM框架,可以理解为使用的就是原生的JDBC技术。接下来调用了该集合的sort方法用于排序集合内的对象,且从里面的内容可以看出,排序依据是领域对象的level属性,也就是级别。在此处,说下级别是什么意思,最顶级的分类可以将其级别置为0,第二级别置为1,以此类推。添加级别属性的话,是对处理层次关系是有很大的帮助的,此处就用上了。经过这样排序的操作,那么最终这个集合内是一个级别最小排最前面的集合。为什么进行排序?后面就会知道。接下来定义一个TreeNode新的空的集合,用于方法返回。循环遍历领域对象的集合,并将当前循环到的对象转换为一个新的TreeNode对象,分别将编号和父编号赋值到TreeNode。然后对领域对象进行一个判断,判断父编号是否为空,如果为空的话,就直接将其放入返回对象集合内,即TreeNode集合。反之调用treePlant方法:

private void treePlant(List<TreeNode> treeNodes, TreeNode newTreeNode) {        // Else it is not a root category,then find the super category and plant            treePlant(treeNode.getChildren(), newTreeNode);

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:产品分类树形展示的Java实现

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。