我想这叫树形结构可能比菜单容易被人理解吧,我见过一个用javascript和xml做的,Http://www.chinaok.net/ 蓝蝶精品网上有,你可以看一下

解决方案 »

  1.   

    http://www.jspsmart.com/
    下载jspSmartMenu
      

  2.   

    文档中心,俺的文档
    http://www.csdn.net/develop/read_article.asp?id=17818
      

  3.   

    最简单可以使用JavaScript实现
    网上有很多实例,用www.baidu.com搜索一下
      

  4.   

    请问 biggie(飞碟)
    那个东东怎么玩啊
      

  5.   

    http://www.destroydrop.com/javascripts/tree/
    取下个树形菜单,那个挺不错,纯javascript编的,程序十分精巧!
      

  6.   

    http://www.destroydrop.com/javascripts/tree/
      

  7.   

    呵呵!看不太懂楼主到底想问些什么!
    如果你不想展开前面的加号,就选构造函数为
    createTree(tree);
      

  8.   

    我这里刚写好了一简单的bean,功能主要是浏览服务器文件,跟资源管理器效果一样,用着很简单,如果需要可以发给你,
      

  9.   

    谢谢各位,xcjd,我也给您发信了,谢谢。但是我不太懂javascript,有没有朋友能给我一个最简单的例子,没有任何修饰的,就是一个节点a,点一下出现两个字节点a1,a2这样的,最好没有什么对icon什么的设置,只要最简单的代码就行,谢谢。
      

  10.   

    我想问一下谁有这种树的权限分配的代码!就是在它的icon前加个checkbox。后根据选中没有给每个用户相应的权限!
      我做不下去了!  楼上的下面有一个(有图但不影响你看):(不要结贴看看我的问题)
    数据库(表)
    id  parentid messag 说明   
    <%@page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
    <%@page import="java.util.*"%>
    <%!//方便起见这里就不写成javabean了
    class cn {//连接数据库,这里以MS-SQL为例
    String jdbcDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";//jdbc驱动
    String connectionString="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=sunmoon";//数据库连接字符串
    String user="sa";//数据库用户名
    String pass="sa";//数据库密码
    Connection conn=null;
    ResultSet rs=null;public cn() {
    try {
     Class.forName(jdbcDriver);
    } catch(ClassNotFoundException e) {
     System.err.println(e.toString());
    }
    }public ResultSet executeQuery(String sql) {
    rs=null;
    try {
    conn=DriverManager.getConnection(connectionString,user,pass);
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    rs=stmt.executeQuery(sql);
    }
    catch(SQLException e) {
    System.err.println(e.toString());
    }
    return rs;
    }public void executeUpdate(String sql) {
    try {
    conn=DriverManager.getConnection(connectionString,user,pass);
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    stmt.executeUpdate(sql);
    }
    catch(SQLException e) {
    System.err.println(e.toString());
    }
    }
    }class tree {
    cn conn=new cn();
    public void init(javax.servlet.jsp.JspWriter out,javax.servlet.http.HttpServletRequest request, String username) throws Exception {
     out.println("<title>系统管理员功能</title>");
     buildTree(out,0,0,username);//初始调用
    }
    public void buildTree(javax.servlet.jsp.JspWriter out,int parentid,int level,String username) throws Exception {
     level++;
     ResultSet rs=conn.executeQuery("select * from admin_tree where parentid="+parentid+" order by id");
    // ResultSet  rs2=conn.executeQuery("select * from  parentRights where username='sensory' order by parentId");
     //select * from tree where parentid in (select parentId from parentRights )order by id
     while(rs.next())  { 
    int id;
    id=rs.getInt("id");
    String idStr = String.valueOf(id);   //int转化为String
    //String userName="a";           //替换为session名
    ResultSet  rs2=conn.executeQuery("select * from  admin_function order by parentId");   
     if (!rs2.next())
      //if((rs.getInt("id")!=6) && (rs.getInt("id")!=10))  //权限管理
     {
      out.println("<div>");
      for(int i=0;i<level-1;i++)
       out.print("<img src=\"white.gif\"> ");
       out.print("<input TYPE=checkbox name=fruit VALUE='"+id+"'>");
      if(has_child(rs.getInt("id"))) 
      {
       out.print("<img alt=\"展开\" style=\"cursor:hand;\" onclick=\"myClick('"+rs.getInt("id")+"');\" id=\"img"+rs.getInt("id")+"\" src=\"plus.gif\"> <img id=\"im"+rs.getInt("id")+"\" src=\"closedfold.gif\"> ");
       out.print("<span onclick=\"myClick1('"+rs.getInt("id")+"');\" style=\"cursor:default;\" id=\"span"+rs.getInt("id")+"\">"+rs.getString("message")+" </span>");
       out.println("<div style=\"display:none;\" id=\"div"+rs.getInt("id")+"\">");
       buildTree(out,rs.getInt("id"),level,username);//递归调用
       out.println("</div>");
         }
      else
       out.print("<img src=\"dot.gif\"><span onclick=\"myClick1('"+rs.getInt("id")+"');\" style=\"cursor:default;\" id=\"span"+rs.getInt("id")+"\">"+rs.getString("message")+" </span>");
      out.println("</div>");
     }

    }
     rs.close();
     rs=null;
     
    }private boolean has_child(int parentid) throws Exception {
       ResultSet rs=conn.executeQuery("select * from admin_tree where parentid="+parentid+" order by id");
     return rs.next();
    }
    }
    %>
    <!--以上代码可以写成javabean-->
    <script language="JavaScript"><!--这段js为了实现树的展开和关闭的效果-->
    <!--
    function myClick(id) {
     eval("var div=div"+id);
     eval("var img=img"+id);
     eval("var im=im"+id);
     div.style.display=div.style.display!="none"?"none":"block";
     img.src=div.style.display!="none"?"minus.gif":"plus.gif";
     im.src=div.style.display!="none"?"openfold.gif":"closedfold.gif";
     img.alt=div.style.display!="none"?"关闭":"展开";
     }
    function myClick1(id) {
         //document.form1.parentid.value=id; admin/sysManage.jsp
      if (id==101)
      {
      //window.open('../admin/userManage/userRun.jsp','message','scrollbars=auto,status=yes,toolbar=yes,menubar=yes,location');
      }
      if (id==102) {
                    
                //window.open('../admin/userManage/userFunction.jsp','message','scrollbars=auto,status=yes,toolbar=yes,menubar=yes,location');
                    }
      if (id==8001)
    {
       //window.open('../admin/database/backup.jsp','message','scrollbars=auto,status=yes,toolbar=yes,menubar=yes,location');
    }   if (id==8002)
    {
       //window.open('../admin/database/restore.jsp','message','scrollbars=auto,status=yes,toolbar=yes,menubar=yes,location');
    }
          else
    {
       
    }
              }
    //-->
    </script>
    <html>
                                //加<form>就不可以 我想用表单提交一下!不行!郁闷!<table align="left">
      <tr>
        <td height="300" valign="top"> 
    <%
    String username = (String) session.getValue("userid");
    tree myTree=new tree();
    myTree.init(out,request,username);
    %>
          </td>
      </tr>
      <tr><strong><font size="1">系统功能</font></strong> 
        
      </tr></table></html>
      

  11.   

    http://www.hidotnet.com/forum/View.aspx?fbId=7&Id=1069