dTree动态树

页面中静态dTree的写法:
          tree.add(id,pid,name,url,title,target,icon,iconOpen,open);
            参数说明:
                id:节点自身的id
                pid:节点的父节点的id
                name:节点显示在页面上的名称
                url:节点的链接地址
                title:鼠标放在节点上所出现的提示信息
                target:节点链接所打开的目标frame(如框架目标mainFrame,_blank,_self 类)
                icon:节点关闭时的显示图片的路径
                iconOpen:节点打开时的显示图片的路径
                open:布尔型,节点是否打开(默认为false)
                注:open项:顶级节点一般采用true,即pid是-1的节点
                

动态dTree的运用:
        一、数据创建:
                tree_table  CREATE TABLE `tree_table` (                      
                 `id` int(11) NOT NULL auto_increment,          
                 `nodeId` varchar(12) NOT NULL  ,      
                 `parentId` varchar(12) NOT NULL  ,    
                 `hrefAddress` varchar(85)  ,          
                 `nodeName` varchar(20)  ,             
                  PRIMARY KEY  (`id`)                            
                 ) ENGINE=InnoDB DEFAULT CHARSET=gbk
                
        二、读取数据库中的数据:
                 
            package com.dao;  
            
            import java.sql.Connection;  
            import java.sql.DriverManager;  
            import java.sql.PreparedStatement;  
            import java.sql.ResultSet;  
            import java.sql.SQLException;  
            import java.util.ArrayList;  
            
            public class DaoTest {  
                Connection con = null;  
            
                public Connection getConnection() {  
                    Connection conn = null;  
                    String url = "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=gbk";  
                    String user = "root";  
                    String password = "admin";  
                    try {  
                        if (conn == null) {  
                            Class.forName("com.mysql.jdbc.Driver").newInstance();  
                            conn = DriverManager.getConnection(url, user, password);  
                        }  
                    } catch (Exception e) {  
                        System.out.println("连接失败");  
                        return null;  
                    } finally {  
                        url = null;  
                        user = null;  
                        password = null;  
                    }  
                    return conn;  
                }  
            
                public ArrayList<Nodes> getNodeInfo() {  
                    String sql = "select nodeId ,parentId ,hrefAddress ,nodeName from tree_table order by id ";  
                    PreparedStatement pre = null;  
                    Connection conn = null;  
                    conn = getConnection();  
                    ResultSet rs = null;  
                    ArrayList<Nodes> list = new ArrayList<Nodes>();  
                    try {  
                        pre = conn.prepareStatement(sql);  
                        rs =pre.executeQuery();  
                        while (rs.next()){  
                            Nodes node = new Nodes();  
                            node.setHrefAddress(rs.getString("hrefAddress"));  
                            node.setNodeId(rs.getString("nodeId"));  
                            node.setParentId(rs.getString("parentId"));  
                            node.setNodeName(rs.getString("nodeName"));  
                            list.add(node);  
                        }  
                        rs.close();  
                        pre.close();  
                        conn.close();  
                    } catch (SQLException e) {  
                        e.printStackTrace();  
                    }finally{  
                         pre = null;  
                         conn = null;  
                         rs = null;  
                    }  
                    return list;  
                }  
            
            }  
            
        三、servlet类中的编写:
           
            package com.handler;  
            
            import java.io.IOException;  
            import java.io.PrintWriter;  
            import java.util.ArrayList;  
            
            import javax.servlet.ServletException;  
            import javax.servlet.http.HttpServlet;  
            import javax.servlet.http.HttpServletRequest;  
            import javax.servlet.http.HttpServletResponse;  
            
            import com.dao.DaoTest;  
            import com.dao.Nodes;  
            public class NodesPrint extends HttpServlet {  
                private static final long serialVersionUID = 1L;  
                public void doGet(HttpServletRequest request, HttpServletResponse response)  
                        throws ServletException, IOException {  
                             doPost(request, response);  
                }  
                public void doPost(HttpServletRequest request, HttpServletResponse response)  
                        throws ServletException, IOException {  
                       request.setCharacterEncoding("utf-8");  
                       response.setContentType("text/xml;charset=utf-8");  
                       PrintWriter out = response.getWriter();  
                       DaoTest test = new DaoTest();  
                       ArrayList<Nodes> list=  test.getNodeInfo();  
                        if(list!=null&&list.size()>0){  
                            out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");  
                            out.println("<nodes>");  
                            for(int i=0;i<list.size();i++){  
                                Nodes node = list.get(i);  
                                out.println("<node nodeId='"+node.getNodeId()+"' parentId='"+node.getParentId()+"' hrefAddress='"+node.getHrefAddress()+"'>"+node.getNodeName()+"</node>");  
                            }  
                            out.println("</nodes>");  
                        }  
                }  
            }  
        
        四、jsp页面的编写:
             
            <%@ page language="java" pageEncoding="utf-8"%>  
            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
            <html>  
            <head>  
              <title>树形结构___ajax请求方式</title>  
              <script type="text/javascript" src="dtree.js"></script>  
              <script type="text/javascript" src="jquery.js"></script>  
              <link rel="stylesheet" href="dtree.css" type="text/css"></link>  
              <script type="text/javascript">  
               tree = new dTree('tree');//创建一个对象.  
               $.ajax({   
                <A href="'NodesPrint'">url:'NodesPrint'</A>,   
                type:'post', //数据发送方式   
                dataType:'xml', //接受数据格式   
                error:function(json){  
                         alert( "not lived!");  
                   },  
                async: false ,//同步方式  
                success: function(xml){  
                     $(xml).find("node").each(function(){   
                    var nodeId=$(this).attr("nodeId");    
                     var parentId=$(this).attr("parentId");    
                    var hrefAddress=$(this).attr("hrefAddress");    
                    var nodeName=$(this).text();   
                    tree.add(nodeId,parentId,nodeName,hrefAddress,"","","","",false);  
                                    });  
                       }  
                 });  
                    document.write(tree);  
              </script>  
            </head>  
            <body>  
            </body>  
            </html> 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值