用dwr和javascript从数据库中读取数据产生树

来源:互联网 发布:java encapsulation 编辑:程序博客网 时间:2024/05/12 11:50

<%@ page contentType="text/html; charset=GBK" language="java"%>
<html>
<head>
<link href="Main.css" rel="stylesheet" type="text/css">
<script type='text/javascript' src='/tdwr/dwr/interface/JDate.js'></script>
<script type='text/javascript' src='/tdwr/dwr/interface/TArea.js'></script>
<script type='text/javascript' src='/tdwr/dwr/engine.js'></script>
<script type='text/javascript' src='/tdwr/dwr/util.js'></script>
<script type='text/javascript'>
   var isfatherclick="";
     var uldata = function(data){  //使用div进行深入显示
     var grandfather=document.getElementById("grandfather");
     grandfather.innerHTML="";
     for(i=0;i<data.length;i++){  //根据反馈回的信息,显示数据
           grandfather.innerHTML+="<img src=images/dpt_close.gif><a href=# onclick='displayLocaleDateFather(/""+data[i].id+"/");'>"+data[i].name+"</a><br><div id='"+data[i].id+"'></div" ;
     }
    }
     var cal_father = function(data){  //使用div进行深入显示 
      
     for(i=0;i<data.length;i++){  //根据反馈回的信息,显示数据
       var parentid=data[i].parentId;
        var father=document.getElementById(parentid);      
        father.innerHTML+="&nbsp;&nbsp;&nbsp;<img src=images/dpt_open.gif><a href=# onclick='displayLocaleDateSon(/""+data[i].id+"/");'>"+data[i].name+"</a><br><div id='"+data[i].id+"'></div>" ;
     }
    }
   
    var cal_son = function(data){  //使用div进行深入显示
    var parentid=data[0].parentId;
 
    var father=document.getElementById(parentid);
    father.innerHTML="";
     for(i=0;i<data.length;i++){  //根据反馈回的信息,显示数据
       father.innerHTML+="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src=images/leaf_node-1.gif><a href='#' onclick='alert("+data[i].id+");'>"+data[i].name+"</a><br>" ;
     }
    }
 
    function displayLocaleDate(parent_id){
   TArea.getAreaByParentId(parent_id,uldata);  //调用有参数的方法,最后一个参数为回调函数名称
    }
     function displayLocaleDateFather(parent_id){
     displayLocaleDate("0");
     TArea.getAreaByParentId(parent_id,cal_father);  //调用有参数的方法,最后一个参数为回调函数名称
    }
   
    function displayLocaleDateSon(parent_id){
       // displayLocaleDate("0");
       // displayLocaleDateFather(parent_id);
   TArea.getAreaByParentId(parent_id,cal_son);  //调用有参数的方法,最后一个参数为回调函数名称
    }


</script>
</head>
<body onload='displayLocaleDate("0");'>
<div id="grandfather">  
</div>
</body>
</html>

 

读取数据库的java文件

package com.stars.test;
import com.stars.myapp.dao.*;
import com.stars.myapp.dto.*;
import com.stars.myapp.exceptions.AreaDaoException;
import com.stars.myapp.factory.*;
import com.stars.myapp.jdbc.*;
import java.lang.StringBuffer;
import java.sql.*;
import java.util.*;
public class testArea {

 public testArea(){

 }

 public Area[] getAreaByParentId(String parent_id){
  StringBuffer buff=new StringBuffer();
  AreaDao chat_dao=AreaDaoFactory.create();
  Area area_result[]=null;
  try {
   //area_result = chat_dao.findByDynamicWhere("parent_id=?",param);
   area_result = chat_dao.findWhereParentIdEquals(parent_id);
  
  } catch (AreaDaoException e) {
   // TODO 自动生成 catch 块
   e.printStackTrace();
  }
  
  return area_result;
 }
 
 public Area[] getAreas(){
  String[] param={"0"};
  StringBuffer buff=new StringBuffer();
  AreaDao chat_dao=AreaDaoFactory.create();
  Area[] area_result=null;
  try {
   //area_result = chat_dao.findByDynamicWhere("parent_id=?",param);
  // area_result = chat_dao.findWhereParentIdEquals("0");
   area_result = chat_dao.findAll();
   
  } catch (AreaDaoException e) {
   // TODO 自动生成 catch 块
   e.printStackTrace();
  }
  
  return area_result;
 }
 

}