在上一篇文章中介绍 JavaScript 实现级联下拉菜单的例子,本篇继续介绍一个利用现存的
JavaScript 代码配合 struts 构成一个树型菜单的例子。
大家知道,树型菜单在应用中有着十分广泛的用途。实现树型菜单的途径较多,本文介绍的
一种觉得理解起来比较直观,与上篇文章的方法比较类似:就是将树型菜单的节点保存在数据
库表中(当然,在实际项目中,节点的信息往往并不是放在一个单一的表中的。比如:在一个
权限管理系统中,这些信息可能分别放在用户表、角色表、功能表等表中,只要设法让查询出
来的结果与下面给出的表格的内容相似就可以了。只要稍微有些数据库方面的知识做到这点并
不难,详细的实现细节超出了本文的主题,不在此细说)。通过数据访问对象将其从数据库中查
出后放在一个集合对象中,并将该集合对象传递给客户端,再用一段现存的 JavaScript 代码--
dtree(一个免费的 JavaScript 程序)来操作集合中的数据。大方向确定之后,我们就来具体着
手来实现它。
根据 dtree 的要求,我们来建一个数据库表来存储树的节点信息,表名为 functions,其结构
如下:
id 字段:varchar 10 主键--节点标识码
pid 字段:varchar 10 not null--父节点标识码
name 字段:varchar 20 not null
url 字段:varchar 50 not
null--这个字段存储的是点击该节点时,要定位的资源
(比如一个页面的 url),
为了不使本文的篇幅过长,暂时不给出相应的页面,
您可以随便输入一个字母比如:a,以使本例能够正常运
行。
title 字段:varchar 20
target 字段:varchar 10
icon 字段:varchar 20
iconopen 字段:varchar 20
opened 字段:char 1
在表中输入如下一些记录以供后面的实验用:
0、-1、我的权限、javascript: void(0);
00、0、用户管理、javascript: void(0);
0001、00、创建新用户;
0002、00、删除用户;
01、0、 文章管理、javascript: void(0);
0101、01、添加新文章;