aa.jsp
...out.println("document.writeln('<script>')");
out.println("document.writeln('hehe')");
out.println("document.writeln('</script>')");...

解决方案 »

  1.   

    如果需要数据库和js文件可到阿赖网站www.9949.net下载。如果要正确运行“我的“代码,请创建odbc数据源“mymenu”连接tree数据库。
    以下为html文件。我做的紧紧是把asp改称jsp.
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>阿赖目录树控件应用示例--动态加载树前台页面</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <script src="alai_tree.js" language="JavaScript"></script>
    </head>
    <body>
    <script language="JavaScript">
    var images=new alai_imagelist()
    images.path="images/"
    images.add("folderclose","folder")
    images.add("hfile","file")
    images.add("face")
    images.add("angry")
    images.add("plus_m","expand")
    images.add("plus_top","expand_top")
    images.add("plus_end","expand_end")
    images.add("minus_m","collapse")
    images.add("minus_top","collapse_top")
    images.add("minus_end","collapse_end")
    images.add("branch","leaf")
    images.add("branch_end","twig")
    images.add("vline","line")
    images.add("blank")
    var tree=new alai_tree(images,0)tree.onexpand=function(srcNode)
    {
    if(srcNode.first.label.innerText=="loading...")
    {
    //动态加载子节点的代码:
    ifrLoad.location="tree_load.jsp?id="+srcNode.getKey().replace("n","");
    }
    return true;
    }
    </script>
    <iframe id="ifrLoad" style="width:0;height:0" src="tree_load.jsp?id=-1"></iframe><hr>
    <p align="center">copywrite by 赖国欣 2003/7 All right reserved</p>
    <p align="center">Email: <a href="mailto:[email protected]">[email protected]</a> website: 
    <a href="http://www.9499.net">http://www.9499.net</a></p>
    </body>
    </html>
      

  2.   

    以下为tree_load.jsp文件的内容。<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,java.util.*,java.io.*" %>
    <html>
    <head>
    <title>目录树加载程序</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head><body>
    <%
    String rschildNum=null;
    String rsid=null;
    String rsparentid=null;
    String rstext=null;
    String rsexeCategory=null;
    String rsexeArgv=null;
    String rsicon=null;
    String icon=null;
    int    iChildNum;

    Connection con=null;
    Statement stmt=null;
    ResultSet rs=null;
    String    nodeId=null;

    String parentid=request.getParameter("id");
    String server_path=application.getRealPath("/");
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    con = DriverManager.getConnection("jdbc:odbc:mymenu","","");
    stmt=con.createStatement();

    String sqlstr="select * , (select count(*) from tree where parentid=subTree.id) as childNum from tree subTree where parentid="+parentid;
    rs=stmt.executeQuery(sqlstr); out.println(" <script>");
    out.println(" var tree=self.parent.tree;");
    //得到传过来的节点,作为父节点。 if("-1".equals(parentid))
       out.println("var toNode=tree.root;");
    else
    out.println("var toNode=tree.nodes['n" + parentid + "'];"); while (rs.next())
    {
    rschildNum=rs.getString("childNum");
    rsid=rs.getString("id");
    rsparentid=rs.getString("parentid");
    rstext=rs.getString("text");
    rsexeCategory=rs.getString("exeCategory");
    rsexeArgv=rs.getString("exeArgv");
    rsicon=rs.getString("icon");
    nodeId="n"+rsid;
    iChildNum=Integer.parseInt(rschildNum);   if(rsicon!=null)
      {
    icon=rsicon;
    }
    else 
    {
    icon="folder";
    }
    out.println("var nNode=tree.add(toNode,'last','" + server_path+rstext + "','" + "n" + rsid   + "','" + icon  + "','" + rsexeCategory + "','" + rsexeArgv + "');");
    out.println("if(nNode.parent.first.label.innerText=='loading...')nNode.parent.first.remove();");
    if (iChildNum>0)
    out.println( "nNode.add('loading...');nNode.expand(false);"); }
    out.println(" </script>");
    %></body>
    </html>