梅花雪前辈的动态菜单树很好用,我以前在ASP里面用过。但是我现在转做JSP了,不清楚应该怎么用,各位高手们能指点一下吗?再好贴出代码~谢谢~~

解决方案 »

  1.   

    xueguiping() ( ) 
    说的对啊,控件跟ASP JSP 没有关系
    只要数据格式一样就能用了。
      

  2.   

    ASP可以用RS保存一组数据,那么JSP用什么保存数据呢?我用JSP通常是用BEAN把数据取出,然后再用一个循环把数据一列一列读出得~
      

  3.   

    简单处理,可以使用ResultSet,就象ASP中的RS
      

  4.   

    StringBuilder Tree = new StringBuilder("");
           Tree.Append("<script type='text/javascript' language='javascript' src='Common/js/MzTreeView10.js'></script>");
           Tree.Append("<script type='text/javascript' language='javascript'>");
           Tree.Append(" var tree = new MzTreeView('tree');   ");
           Tree.Append(" tree.icons['property'] = 'property.gif';  ");
           Tree.Append(" tree.icons['css'] = 'collection.gif'; ");
           Tree.Append(" tree.icons['book']  = 'book.gif'; ");
           Tree.Append(" tree.iconsExpand['book'] = 'bookopen.gif';  ");       Tree.Append( " tree.setIconPath('Images/tree/');  ");       Tree.Append( " tree.nodes['0_1'] = 'text:Think Rich; url:back.htm;';");           //root
                     Tree.Append(" tree.nodes['1_100'] = 'text:User Manage; data:id=100';  ");
               Tree.Append(" tree.nodes['100_101'] = 'text:Add New User; url:User/AddUser.aspx;data:id=101';  ");
               Tree.Append(" tree.nodes['100_102'] = 'text:User List; url:User/UpdateUser.aspx; data:id=102';  ");
                      Tree.Append(" tree.nodes['1_200'] = 'text:Store Manage; url:back.htm; data:id=200';  ");
               Tree.Append(" tree.nodes['200_201'] = 'text:Category Manage; url:User/TypeRen.aspx; data:id=201';  ");
               Tree.Append(" tree.nodes['200_202'] = 'text:Brand Manage; url:User/Brand.aspx; data:id=202';  ");
               Tree.Append(" tree.nodes['200_203'] = 'text:Add New Product; url:Store/ware.aspx; data:id=203';  ");
               Tree.Append(" tree.nodes['200_204'] = 'text:Product Manage; url:Store/QueryWare.aspx; data:id=204';  ");
               Tree.Append(" tree.nodes['200_205'] = 'text:Add New Store; url:Store/store.aspx; data:id=205';  ");
               Tree.Append(" tree.nodes['200_206'] = 'text:Store List; url:Store/QueryStore.aspx; data:id=206';  ");
               Tree.Append(" tree.nodes['200_207'] = 'text:Store Stat; url:Store/QuerySell.aspx; data:id=207';  ");
                      Tree.Append(" tree.nodes['1_300'] = 'text:Shop Manage; data:id=300';  ");
               Tree.Append(" tree.nodes['300_301'] = 'text:Get Auction; url:Shop/Auction.aspx; data:id=301';  ");
               Tree.Append(" tree.nodes['300_302'] = 'text:Order List; url:Shop/QueryOrder.aspx; data:id=302';  ");
               Tree.Append(" tree.nodes['300_303'] = 'text:Invoice Manage; url:Post/LoadOrder.aspx; data:id=303';  ");
               Tree.Append(" tree.nodes['300_304'] = 'text:Invoice List; url:Post/EditPost.aspx; data:id=304';  ");
               Tree.Append(" tree.nodes['300_305'] = 'text:Add New Customer; url:Customer/AddCustomer.aspx; data:id=305';  ");
               Tree.Append(" tree.nodes['300_306'] = 'text:Customer List; url:Customer/QueryCustomer.aspx; data:id=306';  ");
                  Tree.Append(" tree.setURL('back.htm'); ");
           Tree.Append(" tree.setTarget('main');   ");
           Tree.Append( " document.write(tree.toString()); ");
           //Tree += " treeviewarea.innerHTML = tree.toString(); ";
           Tree.Append( "</script>");
           
           //treeviewarea.InnerHtml = Tree;
           Response.Write(Tree.ToString());
      

  5.   

    kongxiangli(笑看红尘) 的是静态树吧?
    因为数据库里面有一张表专门记录text,id,parentid等资料,页面把这些资料读出即可~
      

  6.   

    <SCRIPT LANGUAGE="JavaScript">
        <!--
        window.tree = new MzTreeView("tree");    tree.icons["property"] = "property.gif";
        tree.icons["css"] = "collection.gif";
        tree.icons["book"]  = "book.gif";
        tree.iconsExpand["book"] = "bookopen.gif"; //展开时对应的图片
        tree.setIconPath("MzTreeView10/"); //可用相对路径
    <%
      Dim node
      Dim reg : set reg = new RegExp : reg.global=True : reg.pattern=";"
      Dim id, parentId, text, hint, icon, data, url, target, method
      do while not tree_rs.eof
        '若是树的条目比较多的时候(比如大于1000)而又相对稳定的时候将这些数据生成静态网页来访问
        node = VBCrLf &"    tree.nodes["""& tree_rs("parentId") &"_"& tree_rs("id") &"""] = """
        node = node &"text:"& reg.replace(tree_rs("text"), chr(15)) &";"
        if tree_rs("hint")<>"" then node = node &"hint:"& reg.replace(tree_rs("hint"), chr(15)) &";"
        if tree_rs("icon")<>"" then node = node &"icon:"& tree_rs("icon") &";"
        if tree_rs("data")<>"" then node = node &"data:"& reg.replace(tree_rs("data"), chr(15)) &";"
        if tree_rs("url")<>""  then node = node &"url:"&  reg.replace(tree_rs("url"), chr(15)) &";"
        if tree_rs("target")<>"" then node = node &"target:"& tree_rs("target") &";"
        if tree_rs("method")<>"" then node = node &"method:"& reg.replace(tree_rs("method"), chr(15)) &";"
        response.write node &"""" '生成节点信息
        tree_rs.movenext
      loop
    %>
        tree.setURL("");
        tree.setTarget("");
        document.write(tree.toString());    //亦可用 obj.innerHTML = tree.toString();
        //-->
        </SCRIPT>
    --------------伟大的分隔线------------------其中
    node = VBCrLf &"    tree.nodes["""& tree_rs("parentId") &"_"& tree_rs("id") &"""] = """
        node = node &"text:"& reg.replace(tree_rs("text"), chr(15)) &";"
        if tree_rs("hint")<>"" then node = node &"hint:"& reg.replace(tree_rs("hint"), chr(15)) &";"
        if tree_rs("icon")<>"" then node = node &"icon:"& tree_rs("icon") &";"
        if tree_rs("data")<>"" then node = node &"data:"& reg.replace(tree_rs("data"), chr(15)) &";"
        if tree_rs("url")<>""  then node = node &"url:"&  reg.replace(tree_rs("url"), chr(15)) &";"
        if tree_rs("target")<>"" then node = node &"target:"& tree_rs("target") &";"
        if tree_rs("method")<>"" then node = node &"method:"& reg.replace(tree_rs("method"), chr(15)) &";"
        response.write node &"""" '生成节点信息
        tree_rs.movenext
      loop是ASP的代码,如果转JSP,应该怎样做?
      

  7.   

    当初刚学两天JSP,拿过来就用了,也没觉得有什么问题
      

  8.   

    那位有jsp的源代码可以发出来参考一下,谢谢了
      

  9.   

    我不知道写的算不算好,由于带有一个CSS和几个小图片,因此没有办法完全贴上来!
    你能想象下面这个网页就是一个布局精美的树型菜单么?
    <html>
    <head>
    <title>菜单</title>
    <link href="css/menu.css" type="text/css" rel="stylesheet">
    <script language="javascript">
    function test(){
    var newLi=document.createElement("LI");
    document.all.xxx.appendChild(newLi);
    }
    </script>
    </head>
    <body>
    <ul id="menu">
    <li>树叉</li>
    <ul>
    <li><a href="#">叶子</a></li>
    <li><a href="#">叶子</a></li>
    <li><a href="#">叶子</a></li>
    <li><a href="javascript:test();">叶子</a></li>
    </ul>
    <li>树叉</li>
    <ul>
    <li><a href="#">叶子</a></li>
    <li>树叉</li>
    <ul>
    <li><a href="#">叶子</a></li>
    <li><a href="#">叶子</a></li>
    <li>书查</li>
    <ul>
    <li><a href="#">叶子</a></li>
    <li><a href="#">叶子</a></li>
    <li><a href="#">叶子</a></li>
    <li><a href="#">叶子</a></li>
    <li><a href="#">叶子</a></li>
    </ul>
    <li><a href="#">叶子</a></li>
    <li><a href="#">叶子</a></li>
    </ul>
    <li>树叉</li>
    <ul>
    <li><a href="#">叶子</a></li>
    <li><a href="#">叶子</a></li>
    <li><a href="#">叶子</a></li>
    <li><a href="#">叶子</a></li>
    <li><a href="#">叶子</a></li>
    </ul>
    <li>树叉</li>
    <ul id="xxx">
    <li><a href="#">叶子</a></li>
    <li><a href="#">叶子</a></li>
    <li><a href="#">叶子</a></li>
    <li><a href="#">叶子</a></li>
    <li><a href="javascript:t();">叶子</a></li>
    </ul>
    </ul>
    <li>树叉</li>
    <ul>
    <li><a href="#">叶子</a></li>
    <li><a href="#">叶子</a></li>
    <li><a href="#">叶子</a></li>
    <li><a href="#">叶子</a></li>
    </ul>
    </ul>

    </body>
    </html>
      

  10.   

    看我这里得树
    <table width="100%"  border="0" bordercolor="#CCCCCC">
      <tr>
        <td colspan="2">权限设置</td>
      </tr>
      <%
        Datastore ds1=(Datastore)request.getAttribute("ds1");
        for(int i=1;i<=ds1.rowCount();i++){
    String xtflid=General.convertNullToHTMLEmpty(ds1.getItemString(i,"v_xtflid"));
    String xtmc=General.convertNullToHTMLEmpty(ds1.getItemString(i,"v_xtmc"));
        %>
      <tr>
        <td width="13%" align="center" valign="middle"></td>
        <td width="87%"> <img style="cursor:pointer;" onClick="showadv(theForm,table<%=xtflid %>,image<%=xtflid %>)" name="image<%=xtflid %>" src="pt/images/menu_close.gif" width="16" height="16" border="0">
        <span style="cursor:pointer;" onClick="showadv(theForm,table<%=xtflid %>,image<%=xtflid %>)"><%=xtmc %></span></td>
      </tr>
      <tr>
        <td width="13%" align="center" valign="middle"></td>
        <td width="87%">
    <table width="100%"  id="table<%=xtflid %>" name="table<%=xtflid %>" style="display:none">
    <%
        Datastore ds2=(Datastore)request.getAttribute("ds2"+xtflid);
        for(int m=1;m<=ds2.rowCount();m++){
    String xtflid1=General.convertNullToHTMLEmpty(ds2.getItemString(m,"v_mkid"));
    String xtmc1=General.convertNullToHTMLEmpty(ds2.getItemString(m,"v_mkmc"));
        %>
      <tr border="1" bordercolor="#CCCCCC">
    <td width="13%" align="center" valign="middle"></td>
    <td width="87%"> <img style="cursor:pointer;" onClick="showadv(theForm,table<%=xtflid1 %>,image<%=xtflid1 %>)" name="image<%=xtflid1 %>" src="pt/images/menu_close.gif" width="16" height="16" border="0">
    <span style="cursor:pointer;" onClick="onleavel('<%=xtflid1 %>')"><%=xtmc1 %></span></td>   </tr>
      <tr border="1" bordercolor="#CCCCCC">
    <td width="13%" align="center" valign="middle"></td>
    <td width="87%">
    <table width="100%"  id="table<%=xtflid1 %>" name="table<%=xtflid1 %>" style="display:none">
    <%
        Datastore ds3=(Datastore)request.getAttribute("ds3"+xtflid1);
        for(int n=1;n<=ds3.rowCount();n++){
    String xtflid2=General.convertNullToHTMLEmpty(ds3.getItemString(n,"v_mkid"));
    String xtmc2=General.convertNullToHTMLEmpty(ds3.getItemString(n,"v_mkmc"));
        %>
      <tr border="1" bordercolor="#CCCCCC">
    <td width="13%" align="center" valign="middle"></td>
    <td width="87%"> <img style="cursor:pointer;" onClick="showadv(theForm,table<%=xtflid2 %>,image<%=xtflid2 %>)" name="image<%=xtflid2 %>"  src="pt/images/menu_close.gif" width="16" height="16" border="0">
    <span style="cursor:pointer;" onClick="onleavel('<%=xtflid2 %>')"><%=xtmc2 %></span></td>
      </tr>
      <tr border="1" bordercolor="#CCCCCC">
    <td width="13%" align="center" valign="middle"></td>
    <td width="87%">
    <table width="100%"  id="table<%=xtflid2 %>" name="table<%=xtflid2 %>" style="display:none">
    <%
        Datastore ds4=(Datastore)request.getAttribute("ds4"+xtflid2);
        for(int k=1;k<=ds4.rowCount();k++){
    String xtflid3=General.convertNullToHTMLEmpty(ds4.getItemString(n,"v_mkid"));
    String xtmc3=General.convertNullToHTMLEmpty(ds4.getItemString(n,"v_mkmc"));
        %>
      <tr border="1" bordercolor="#CCCCCC">
    <td width="13%" align="center" valign="middle"></td>
    <td width="87%"> <img name="imageField" src="pt/images/menu_open.gif" width="16" height="16" border="0">
    <span style="cursor:pointer;" onClick="onleavel('<%=xtflid3 %>')"><%=xtmc3 %></span></td>
      </tr>
      <tr border="1" bordercolor="#CCCCCC">
    <td width="13%" align="center" valign="middle"></td>
    <td width="87%">
    </td>
      </tr>
      <%} %>
    </table>
    </td>
      </tr>
      <%} %>
    </table>
    </td>
      </tr>
      <%} %>
    </table>
        </td>
      </tr>
      <%} %>
    </table>
    垃圾不?