tree 递归 树形菜单!

来源:互联网 发布:最好的门户网站 知乎 编辑:程序博客网 时间:2024/05/24 01:46
 
StringBuffer optionStr = new StringBuffer();public String tree(Connection jdbc,int id,int level){   ResultSet rst = null;  Statement stmt = null;  String preStr = "";   String sql = "select * from cms_channel where parent_id = " + id;  try{   stmt = jdbc.createStatement();   rst = stmt.executeQuery(sql);   while(rst.next()){   for(int i=0; i<level; i++) {  optionStr.append("----");  }    optionStr.append(""+rst.getString("channel_id")+",");   optionStr.append(""+rst.getString("channel_name")+"");//optionStr.append("d.add("+rst.getString("channel_id").trim()+","+rst.getString("parent_id").trim()+",'"+rst.getString("channel_name").trim()+"','javascript:clickMenu("+rst.getString("channel_id").trim()+","+rst.getString("parent_id").trim()+");oncontextmenu=showMenu("+rst.getString("channel_id").trim()+","+rst.getString("parent_id").trim()+");','"+rst.getString("channel_name").trim()+"');");optionStr.append("\n\r");   // if(rst.getInt("has_child") != 1) {     tree(jdbc, rst.getInt("channel_id"), ++level);     --level;     // }   }     } catch(SQLException e){   e.printStackTrace();  }  finally {   try {    if(rst != null) {    rst.close();    rst = null;    }    if(stmt != null){      stmt.close();      stmt = null;    }   } catch (SQLException e) {    e.printStackTrace();   }  }  return optionStr.toString(); }public static void main(String[] args) {//getDBConnection();System.out.println(new TestDB().tree(TestDB.getDBConnection(),-1,0));}

运行结果

1,新闻资讯

----6,国内新闻

----7,国际新闻

4,房产资讯

5,体育世界