很简单的问题:用Dtree呀.
数据库设计:
menuid menuname munefatherid menuurl
就好了,
从表中读到了记录,然后写到dTREE中就好了。
 事例代码:
<%@ page language="java" pageEncoding="GBK" %>
<%@ page import ="com.connectpool.Dbcon"%>
<%@ page import="com.ditto.DittoResultSet"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>系统管理表--部门树</title>
<link href="../skins/<%=session.getAttribute("skin")%>/css/edtree.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="../js/edtree.js"></script>
</head>
<body class="Tree">
<div class="dtree"><p><a href="javascript:a.openAll();">展开</a> | <a href="javascript:a.closeAll();">关闭</a></p> <%
com.connectpool.Dbcon db=new Dbcon();
com.ditto.DittoResultSet rset=db.executeQuery("select * from RS_DEPARTMENT order by serialnumber desc,isflease desc");
%>
<script type="text/javascript">
     a = new dTree('a');
     a.config.target = 'mainFrame';
     a.config.closeSameLevel=true;
     a.add(0,-1,'人事组织结构','');
<%
 while(rset.next()){
%>
 a.add('<%=rset.getInt("DEPARTMENTID")%>','<%=rset.getInt(3)%>','<%=rset.getString(2)%>','EDIT_RSDEP.jsp?DEPARTMENTID=<%=rset.getInt(1)%>&DEPARTMENTNAME=<%=rset.getString(2)%>&parentBranchID=<%=rset.getInt(3)%>&isflease=<%=rset.getString("isflease")%>&serialnumber=<%=rset.getString("serialnumber")%>&iscount=<%=rset.getString("iscount")%>');
    <%
 } %>
document.write(a);
</script>
</div>
</body>
</html>
更详细的QQ;23145535

解决方案 »

  1.   

    flyteger(#ABCDEFG#) 老大你好哇
    可是你的js文件不在哇,我怎么用呢
    还有我的问题是由多棵父亲节点,然后每个父亲节点下又有多个孩子节点
    如何解决呢
      

  2.   

    TO:flyteger(#ABCDEFG#)
              我今天按照你这个方法做了树型菜单,花了好长时间终于摸索出来了.作为一个初学者,感觉真是不容易啊,但在欢喜之余,还得感谢你的程序的提示,谢谢您了.
              为你祝福!!!
      

  3.   

    CSDN的菜单时动态的,根本就没有刷新,用的xml的异步加载技术
      

  4.   

    做一个普通的tree不难,网上有大量的下载,但不能保证它能在所有平台上通用。必竞有些js函数只能在IE上使用.
    前段时间朋友给的dTree组件,里面的js函数有些在Apple下不能正常使用,结果花了好几天才搞定.