1)初始化菜单 <script type="text/javascript"> <!-- var Tree = new Array; // nodeId | parentNodeId | nodeName | nodeUrl Tree[0] = "1|0|Page 1|#"; Tree[1] = "2|1|Page 1.1|#"; Tree[2] = "3|1|Page 1.2|#"; Tree[3] = "4|3|Page 1.2.1|#"; Tree[4] = "5|1|Page 1.3|#"; Tree[5] = "6|2|Page 1.1.1|#"; Tree[6] = "7|6|Page 1.1.1.1|#"; Tree[7] = "8|6|Page 1.1.1.2|#"; Tree[8] = "9|1|Page 1.4|#"; Tree[9] = "10|9|Page 1.4.1|#"; Tree[10] = "11|0|Page 2|#"; //--> </script> 2)调用函数 <div class="tree"> <script type="text/javascript"> <!-- createTree(Tree,1,7); // starts the tree at the top and open it at node nr. 7 //--> </script> </div> 显然,如果用动态的脚本来初始化菜单数组(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; /** * @author Diegoyun * @version 1.0 */ public class TreeInfo {
JSP 树状菜单
本文介绍了如何利用JSP动态生成JavaScript树形菜单。通过创建数据库表`tree_info`存储节点信息,编写Java类`TreeInfo`和`TreeUtil`从数据库获取并转换为JavaScript数组,然后定义两个自定义标签`InitTreeTag`和`ShowTreeTag`,在JSP中调用这些标签来展示树形菜单。示例中提供了完整的数据库脚本、Java代码和JSP页面结构。
摘要由CSDN通过智能技术生成