WEB开发网
开发学院WEB开发Jsp 和同事写了一个下午的递归读取数据库的javabean 阅读

和同事写了一个下午的递归读取数据库的javabean

 2008-01-05 09:31:37 来源:WEB开发网   
核心提示:/* * 创建日期 2005-4-14 * * TODO 要更改此生成的文件的模板,请转至 * 窗口 - 首选项 - java - 代码样式 - 代码模板 */package treeMenu;import java.util.*;import java.sql.*;import dbmanager.DBConnect

/* * 创建日期 2005-4-14 * * TODO 要更改此生成的文件的模板,请转至 * 窗口 - 首选项 - java - 代码样式 - 代码模板 */package treeMenu;import java.util.*;import java.sql.*;import dbmanager.DBConnection;import javax.servlet.jsp.JSPWriter;/** * @author 呆猴 lUCky * * TODO 要更改此生成的类型注释的模板,请转至 * 窗口 - 首选项 - Java - 代码样式 - 代码模板 */public class Tree {   PRivate DBConnection conn;   public ArrayList arrayid;//定义包含所有id的数组   public ArrayList arrayname;//定义包含所有名称的数组   public ArrayList arrayparent;//定义包含所有父id的数组   public ArrayList class1_id;//定义包含所有一级信息id的数组   public Tree(){   try{     conn=new DBConnection();   }   catch(Exception e){     System.out.println("sorry");   }   }   /**   *    * 定义读取所有相关记录和一级信息的方法   */   public void buidTreeinit() throws SQLException{   ResultSet rs=conn.runRs("select * from sp_sys_menu_item");   String aa="";   String id="";   String name="";   String parent_id="";   int i=0;   arrayid=new ArrayList();   arrayname=new ArrayList();   arrayparent=new ArrayList();   class1_id=new ArrayList();    while(rs.next()){    id=rs.getString("id");    name=rs.getString("name");    parent_id=rs.getString("parent_id");    arrayid.add(id);//把所有id信息赋值到arrayid数组中    arrayname.add(name);//把所有name信息赋值到arrayname数组中    arrayparent.add(parent_id);//把所有parent_id信息赋值到arrayparent数组中    /**     * 把所有的一级信息赋值到数组class1_id中     */    if(parent_id.equals("0"))    {    class1_id.add(id);    }   }   conn.free();   }   /**   * 开始定义树型结构的构造   * @param parentid   * @throws SQLException   */   public void buildTree(JSPWriter out,String parentid,int j) throws Exception{     j++;  ArrayList tmplist=new ArrayList();//包含所有父id为parent_id的记录的名称数组  String mmm="  ";  String nnn="";  for(int q=0;q<j;q++){    nnn=nnn+"--";    mmm=mmm+"  ";  }    String table2="";    table2=table2+"<tr bgcolor=\"#FFFFFF\">";    table2=table2+"<td width=\"70%\" height=\"30\">"+mmm+nnn+" <name></td>";    table2=table2+"<td width=\"30%\" height=\"30\" align=\"center\">";    table2=table2+"修改 ";    table2=table2+"注册下级菜单 ";    table2=table2+" <del>";    table2=table2+"</td>";    table2=table2+"</tr>";  while(arrayparent.indexOf(parentid)!=-1)  {   String tmpname=(String)arrayname.get(arrayparent.indexOf(parentid));//获取所有父id为parent_id的记录的名称   String tmpid=(String)arrayid.get(arrayparent.indexOf(parentid));//获取该子信息的id,用于赋予下级子信息的父id   if(has_child(tmpid)){   out.print(table2.replaceAll("<name>",tmpname).replaceAll("<del>",""));   }   else{   out.print(table2.replaceAll("<name>",tmpname).replaceAll("<del>","删除"));   }   int tmp=arrayparent.indexOf(parentid);//获取参数parent_id所在位置   arrayparent.remove(tmp);//删除参数parent_id所在位置的parent_id   arrayid.remove(tmp);//删除参数parent_id所在位置的id   arrayname.remove(tmp);//删除参数parent_id所在位置name   if(has_child(tmpid))//假如该条信息有相关子信息重新执行buildTree方法    {       buildTree(out,tmpid,j);    }    }    }   /**   * 进行是否有子信息判定   * @param parentid   * @return   */   public boolean has_child(String parentid)   {    boolean bb=false;       if(arrayparent.indexOf(parentid)!=-1)    {    

    bb=true;       }    return bb;   }   /**   * 树型结构显示   * @param args   * @throws Exception   */   public void showTree(JSPWriter out) throws Exception{    Tree aa=new Tree();     aa.buidTreeinit();     String table1="";     table1=table1+"<tr bgcolor=\"#CCCCCC\">";     table1=table1+"<td width=\"70%\" height=\"30\"> <name></td>";    table1=table1+"<td width=\"30%\" height=\"30\" align='center'>";    table1=table1+"修改 ";    table1=table1+"注册下级菜单 ";    table1=table1+" <del>";    table1=table1+"</td>";     table1=table1+"</tr>";     for(int i=0;i<aa.class1_id.size();i++)     {      if(aa.has_child((String)aa.class1_id.get(i))){      out.print(table1.replaceAll("<name>",(String)aa.arrayname.get(i)).replaceAll("<del>",""));&nb

Tags:同事 一个 下午

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接