这是我在网上找的,自己修改了一点,如何修改才能实现从数据库取得节点数据的的无限级目录树呢?我的项目是文件共享系统。或者哪位高手有现成的可以发给我吗,邮箱[email protected] ,急用,谢谢tree.htmlvar tree = new WebFXTree("ROOT");
tree.add(new WebFXLoadTreeItem("user", "filetree.jsp"));
document.write(tree);
filetree.jspresponse.setContentType("text/xml");
out.clear();
out.println("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
out.println("<tree>");
FileDAO dao = new FileDAOImpl();
List tree = dao.ListFile();
for(int i = 0; i < tree.size(); i++){FileVO vo = (FileVO)tree.get(i);
out.println("<tree text='" + vo.getFile_name() + "' src='subtree.jsp?id="+vo.getFile_id()+"' />");
                         
}
out.println("</tree>");
subtree.jspString id=request.getParameter("id");
int pid=Integer.parseInt(id);
response.setContentType("text/xml");
out.clear();
out.println("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
out.println("<tree>");
FileDAO dao = new FileDAOImpl();
List tree = dao.SubFile(pid);
for(int i=0;i < tree.size();i++){FileVO vo = (FileVO)tree.get(i);
out.println("<tree text='" + vo.getFile_name() + "' />");
                         
}
out.println("</tree>");
FileDAOImpl.javapublic List ListFile() throws Exception {        Connection conn=null;
        PreparedStatement stmt=null;
        ResultSet rs=null;
        ArrayList list=new ArrayList();
        String sql=" select * from t_file ";
        try
        {
            conn=DBConnection.getConnection();
            stmt=conn.prepareStatement(sql);
            rs=stmt.executeQuery();
            while(rs.next())
            {
                FileVO vo=new FileVO();
                vo.setFile_id(rs.getInt("file_id"));
                vo.setFile_name(rs.getString("file_name"));
                vo.setParent_id(rs.getInt("parent_id"));
        
                list.add(vo);
            }            
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        return list;
    }    public List SubFile(int parent_id) throws Exception {        Connection conn=null;
        PreparedStatement stmt=null;
        ResultSet rs=null;
        ArrayList list=new ArrayList();
        String sql=" select * from t_file where parent_id="+parent_id ;
        try
        {
            conn=DBConnection.getConnection();
            stmt=conn.prepareStatement(sql);
            rs=stmt.executeQuery();
            while(rs.next())
            {
                FileVO vo=new FileVO();
                vo.setFile_id(rs.getInt("file_id"));
                vo.setFile_name(rs.getString("file_name"));
                vo.setParent_id(rs.getInt("parent_id"));
        
                list.add(vo);
            }            
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        return list;
    }