树形菜单的实现.doc

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JSP树形菜单的实现(转载)

(2009-04-20 15:21:03)

转载

标签:

分类:技术讲解

杂谈

1。原理简介

dtree是一个免费的javascript脚本,只需定义有限的几个参数,就可以做出漂亮的树型菜单。下载目录:/javascripts/tree/

以下是dtree的用法示例:

1)初始化菜单

2)调用函数

显然,如果用动态的脚本来初始化菜单数组(asp,jsp均可),那就可以很方便的实现动态的树型菜单了。

2。jsp动态实现

分以下步骤实现动态的树型菜单:

1)在数据库建tree_info表,有nodeId,parentNodeId,nodeName,nodeUrl四个字段,来存储节点信息。

2)编写java类,用于从数据库找出节点信息,并且生成javascript脚本。

3)编写tag类。用于封装逻辑,简化jsp的开发。

4)建一个web程序进行测试。

3。详细过程

1)在数据库建表,脚本如下:

CREATE TABLE `test`.`tree_info` (

`node_id` INTEGER UNSIGNED NOT NULL DEFAULT -1,

`parent_id` INTEGER UNSIGNED NOT NULL DEFAULT -1,

`node_name` VARCHAR(45) NOT NULL,

`ref_url` VARCHAR(45) NOT NULL,

PRIMARY KEY(`node_id`)

)

我使用mysql数据库,如果脚本细节有出入,请自行修改

按照上面的dTree示例插入数据

2)编写TreeInfo.java,这个类用于封装节点信息

package com.diegoyun.web.tree;

public class TreeInfo {

private int nodeId = -1;//node id

private int parentId = -1;//parentId

private String nodeName = null;//node name

private String url = null;//url references

public int getNodeId() {

return nodeId;

}

public void setNodeId(int nodeId) {

this.nodeId = nodeId;

}

public int getParentId() {

return parentId;

}

public void setParentId(int parentId) {

this.parentId = parentId;

}

public String getNodeName() {

return nodeName;

}

public void setNodeName(String nodeName) { this.nodeName = nodeName;

}

public String getUrl() {

return url;

}

public void setUrl(String url) {

this.url = url;

}

}

编写TreeUtil.java,用于从数据库得到节点信息,封装到TreeInfo对象,并生成javascript 脚本

TreeUtil.java

package com.diegoyun.web.tree;

import java.util.Collection;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.Connection;

import java.sql.DriverManager;

public class TreeUtil {

public static List retrieveNodeInfos(){

List coll = new ArrayList();

String driverName = "com.mysql.jdbc.Driver";

String host = "localhost";

String port = ":3306";

String serverID = "test";

String userName = "root";

String userPwd = "root";

String url = "jdbc:mysql://" + host + port + "/" + serverID ;

Connection conn = null ;

PreparedStatement ps = null;

ResultSet rs = null;

try{

相关文档
最新文档