`
shoushounihao
  • 浏览: 41362 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

根据对象,构建tree树形菜单(dhtmlxtree)

    博客分类:
  • java
 
阅读更多

在数据库中建立表

t_navgation

id--序号,

name--名称

nav_url--地址

//

remark--备注

isstop--是否停用

 

java 建立对应bean,这里不操作数据库,只是模拟下(实际根据你数据库来操作,生成对应树形菜单)

package com.model;

 

/**
 * 栏目菜单栏----
 * @author Ken Huang
 *
 */
public class NavBean {

 private int id;
 private int parentid;
 private String resourename;
 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id = id;
 }
 public int getParentid() {
  return parentid;
 }
 public void setParentid(int parentid) {
  this.parentid = parentid;
 }
 public String getResourename() {
  return resourename;
 }
 public void setResourename(String resourename) {
  this.resourename = resourename;
 }
 
}

package com.model;

import java.util.ArrayList;
import java.util.List;

 

/**
 * 通过构造树形栏目
 * 分析:
 * 递归的思想来进行数据传送
 * @author cong *
 */


public class TreeBean {

 public TreeBean(){}
 
 private int id;
 private String text;
 private List item=new ArrayList();
 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id = id;
 }
 public String getText() {
  return text;
 }
 public void setText(String text) {
  this.text = text;
 }
 public List getItem() {
  return item;
 }
 public void setItem(List item) {
  this.item = item;
 }
 
 
 
 public TreeBean(NavBean node,List<NavBean> navlist)
 {
  this.id=node.getId();
  this.text=node.getResourename();
    NavBean mode=null;
    for(NavBean nodes:navlist)
    {
     if(nodes.getId()==id)
     {
      mode=nodes;
      break;
     }
    }
  
      navlist.remove(mode);
      List<NavBean> children=getChirdlist(mode.getId(), navlist);
      if(children.size()>0)
      {
       for(NavBean child:children)
       {
        
        TreeBean beanchild=new TreeBean(child,navlist);
        this.item.add(child);
       }
      }
  
  
 }
 
 
 private List<NavBean> getChirdlist(int parentId,List<NavBean> list)
 {
  List<NavBean> childlist=new ArrayList<NavBean>();
            for(NavBean childnode :list)
            {
             if(parentId==childnode.getParentid())
             {
              childlist.add(childnode);
             }
            }
            return childlist;
 }
 
 
}


测试:

package com.tree;

import java.util.List;

import com.model.NavBean;
import com.model.NavBeanService;
import com.model.TreeBean;
import net.sf.json.JSONObject;
public class TreeTest {

 /**
  * @param args
  */
 public static void main(String[] args) {
  NavBeanService service=new NavBeanService();
  List<NavBean> lists=service.serach();
  NavBean node=lists.get(0);
  TreeBean tree=new TreeBean(node,lists);
  System.out.println(tree.getItem().size());
  JSONObject json=JSONObject.fromObject(tree);
  System.out.println(json);
  
 }

}

 

结果输出:



 

 

 

 

 

----------如有更好思路或想法,请留言评论下,谢谢。希望通过交流,让大家进步

 

 

  • 大小: 12 KB
分享到:
评论

相关推荐

    js 树形菜单

    在给定的"dhtmlxTree"文件中,这可能是一个名为DHTMLX Tree的库,它是一个功能丰富的JavaScript组件,用于创建交互式树形菜单。DHTMLX Tree提供了一系列API和方法,如`attachEvent`(绑定事件)、`enableItem`(启用...

    树形菜单大全----dhtmlxTree

    总的来说,dhtmlxTree是一个强大的JavaScript库,能够帮助开发者快速构建具有高级特性的树形菜单,无论是用于学习还是二次开发,都是一个非常实用的工具。通过熟练掌握dhtmlxTree,可以极大地提升Web应用的用户体验...

    几webjs树形菜单

    1. **jQuery CheckTree**:压缩包中的`jquery.checktree.js`和`jquery.checktree.0.3b1.js`是基于jQuery库的树形菜单插件。jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理和动画。CheckTree扩展了...

    一个很好用的树形菜单

    【标题】"一个很好用的树形菜单"指的是在网页设计中使用的一种交互式用户界面元素,即树状菜单(Tree Menu)。这种菜单通常用于显示层次结构的数据,比如网站导航、文件系统或数据库结构。dhtmlxtree是实现这一功能...

    javascript树形菜单

    dhtmlxtree是DHTMLX Suite的一部分,是一个功能丰富的JavaScript组件,用于构建具有拖放、搜索、分页、权限控制等功能的树形菜单。`dhtmlxtree.xml`可能是用于配置dhtmlxtree节点和结构的XML文件,`dhtmlxTree`和`...

    功能齐全的JS树形菜单

    JavaScript(简称JS)是一种广泛用于前端开发的编程语言,它为网页添加了动态交互性。在Web应用中,树形菜单是一种常见的用户...通过理解和熟练使用这个库,开发者可以快速构建出功能齐全、用户体验良好的树形菜单。

    java树形菜单(主要用于菜单的制作)

    Java树形菜单是一种在Web应用中常用于...通过以上步骤,你可以利用Java和dhtmlxTree构建出高效、交互性强的树形菜单。不断实践和优化,你将能掌握更多高级功能,如拖放操作、搜索、编辑等,提升你的Web应用的用户体验。

    javascript 树形菜单之dhtmxtree教程详解

    JavaScript树形菜单是一种...通过掌握其基本使用方法、API调用以及事件处理,你可以在网页应用中构建出具有交互性和高效性的树形菜单。通过阅读博文链接中的详细教程,将能更深入地学习和掌握DHTMLXTREE的各种功能。

    dhtmlxTree

    JavaScript Tree是网页开发中的一个重要组件,它利用JavaScript语言构建出一种图形化的树形结构,用于显示层次关系的数据。JavaScript Tree通常包含节点(node)、子节点(child node)、父节点(parent node)等...

    js动态树合集(dtree,dhtmlxtree,drag-drop-tree)

    dtree 是一个轻量级的JavaScript库,专门用于构建可折叠和展开的树形结构。它支持基本的节点操作,如添加、删除和移动节点,并且可以通过简单的HTML结构和JavaScript配置来创建树。dtree的亮点在于其易于理解和使用...

    Dhtmlxtree的例子

    3. 使用JavaScript代码实例化dhtmlxtree对象,指定容器ID和XML数据源。例如: ```javascript var tree = new dhtmlXTreeObject("treebox", "100%", "100%", "auto"); tree.setSkin("dhx_skyblue"); // 设置皮肤 ...

    DhtmlxTree-dhtmlxmenu实现在节点上右键弹出菜单

    动态生成树形菜单,每个节点都有各自的URL地址,单击不同的节点框架页的右侧跳转到该节点所对应的URL。(框架页说明:左边是树形菜单;右边是显示页面相应信息的页面) 分析: dhtmlXTree提供了很好的添加,删除...

    Java 动态树 dhtmlxtree

    Java 动态树dhtmlxtree是一个用于在Java应用程序中创建交互式树形视图的组件,它基于JavaScript库dhtmlxSuite。dhtmlxtree是用于构建富客户端Web应用的工具,它允许开发者在网页上展示数据结构,提供可折叠、可扩展...

    dhtmlXTree1.6

    3. **初始化树结构**:通过JavaScript代码实例化dhtmlXTree对象,并设置相关配置,如数据源、图标、事件处理等。 4. **加载数据**:根据所选数据源类型(XML或JSON),加载节点数据到树结构中。 5. **绑定事件**:...

    dhtmlxTree.zip

    【标题】"dhtmlxTree.zip" 是一个包含与JSP相关的目录树组件的压缩文件,这个组件基于dhtml技术,用于在Web应用程序中创建交互式的树形结构。dhtmlxTree是一个流行的JavaScript库,它提供了丰富的功能和自定义选项,...

    dhtmlxTree 2.1

    dhtmlxTree是一款功能强大的JavaScript组件,用于在Web应用中构建交互式的树形结构。它属于dhtmlxSuite的一部分,这是一个全面的JavaScript UI库,提供了各种各样的用户界面元素。dhtmlxTree 2.1 版本是该组件的一个...

Global site tag (gtag.js) - Google Analytics