在数据库中建立表
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);
}
}
结果输出:
----------如有更好思路或想法,请留言评论下,谢谢。希望通过交流,让大家进步
相关推荐
在给定的"dhtmlxTree"文件中,这可能是一个名为DHTMLX Tree的库,它是一个功能丰富的JavaScript组件,用于创建交互式树形菜单。DHTMLX Tree提供了一系列API和方法,如`attachEvent`(绑定事件)、`enableItem`(启用...
总的来说,dhtmlxTree是一个强大的JavaScript库,能够帮助开发者快速构建具有高级特性的树形菜单,无论是用于学习还是二次开发,都是一个非常实用的工具。通过熟练掌握dhtmlxTree,可以极大地提升Web应用的用户体验...
1. **jQuery CheckTree**:压缩包中的`jquery.checktree.js`和`jquery.checktree.0.3b1.js`是基于jQuery库的树形菜单插件。jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理和动画。CheckTree扩展了...
【标题】"一个很好用的树形菜单"指的是在网页设计中使用的一种交互式用户界面元素,即树状菜单(Tree Menu)。这种菜单通常用于显示层次结构的数据,比如网站导航、文件系统或数据库结构。dhtmlxtree是实现这一功能...
dhtmlxtree是DHTMLX Suite的一部分,是一个功能丰富的JavaScript组件,用于构建具有拖放、搜索、分页、权限控制等功能的树形菜单。`dhtmlxtree.xml`可能是用于配置dhtmlxtree节点和结构的XML文件,`dhtmlxTree`和`...
JavaScript(简称JS)是一种广泛用于前端开发的编程语言,它为网页添加了动态交互性。在Web应用中,树形菜单是一种常见的用户...通过理解和熟练使用这个库,开发者可以快速构建出功能齐全、用户体验良好的树形菜单。
Java树形菜单是一种在Web应用中常用于...通过以上步骤,你可以利用Java和dhtmlxTree构建出高效、交互性强的树形菜单。不断实践和优化,你将能掌握更多高级功能,如拖放操作、搜索、编辑等,提升你的Web应用的用户体验。
JavaScript树形菜单是一种...通过掌握其基本使用方法、API调用以及事件处理,你可以在网页应用中构建出具有交互性和高效性的树形菜单。通过阅读博文链接中的详细教程,将能更深入地学习和掌握DHTMLXTREE的各种功能。
JavaScript Tree是网页开发中的一个重要组件,它利用JavaScript语言构建出一种图形化的树形结构,用于显示层次关系的数据。JavaScript Tree通常包含节点(node)、子节点(child node)、父节点(parent node)等...
dtree 是一个轻量级的JavaScript库,专门用于构建可折叠和展开的树形结构。它支持基本的节点操作,如添加、删除和移动节点,并且可以通过简单的HTML结构和JavaScript配置来创建树。dtree的亮点在于其易于理解和使用...
3. 使用JavaScript代码实例化dhtmlxtree对象,指定容器ID和XML数据源。例如: ```javascript var tree = new dhtmlXTreeObject("treebox", "100%", "100%", "auto"); tree.setSkin("dhx_skyblue"); // 设置皮肤 ...
动态生成树形菜单,每个节点都有各自的URL地址,单击不同的节点框架页的右侧跳转到该节点所对应的URL。(框架页说明:左边是树形菜单;右边是显示页面相应信息的页面) 分析: dhtmlXTree提供了很好的添加,删除...
Java 动态树dhtmlxtree是一个用于在Java应用程序中创建交互式树形视图的组件,它基于JavaScript库dhtmlxSuite。dhtmlxtree是用于构建富客户端Web应用的工具,它允许开发者在网页上展示数据结构,提供可折叠、可扩展...
3. **初始化树结构**:通过JavaScript代码实例化dhtmlXTree对象,并设置相关配置,如数据源、图标、事件处理等。 4. **加载数据**:根据所选数据源类型(XML或JSON),加载节点数据到树结构中。 5. **绑定事件**:...
【标题】"dhtmlxTree.zip" 是一个包含与JSP相关的目录树组件的压缩文件,这个组件基于dhtml技术,用于在Web应用程序中创建交互式的树形结构。dhtmlxTree是一个流行的JavaScript库,它提供了丰富的功能和自定义选项,...
dhtmlxTree是一款功能强大的JavaScript组件,用于在Web应用中构建交互式的树形结构。它属于dhtmlxSuite的一部分,这是一个全面的JavaScript UI库,提供了各种各样的用户界面元素。dhtmlxTree 2.1 版本是该组件的一个...