设为首页 收藏本站
查看: 575|回复: 0

[经验分享] js树结构,关于梅花树的动态显示,如mysql数据库关联

[复制链接]

尚未签到

发表于 2016-10-24 07:19:15 | 显示全部楼层 |阅读模式
最近,本人用梅花树写了一个动态的树结构,跟大家一起交流交流,代码如下:
Treedao.java
public class TreeDao extends HibernateEntityDao<Tree> {

ResultSet rp = null;
ResultSet rs = null;
ResultSet rt = null;
int ids = 0;
int pids = 0;
String sql = null;

public String getTree(String path, String tst) throws Exception {
  System.out.println("开始构建树");
  readCSV csv = new readCSV();
  // tst="杭州";
  Connection conn = csv.conn();
  Statement stm = conn.createStatement();
  if (tst.equals("所有用户组")) {
   sql = "select * from tree";
  } else {
   sql = "select * from tree where txt='" + tst + "'";
  }
  ResultSet r = stm.executeQuery(sql);
  String tre = null;
  String tree = "tree";
  String aa = "浙江教育资源网实名库";
  String bb = "property";
  int cc = 0;
  int dd = 1;
  tre += "\n" + tree + ".nodes[\"" + cc + "_" + dd + "\"]=\"";
  tre += "text:" + aa + ";";
  tre += "icon:" + bb + ";";
  tre += "\"";
  if (tst.equals("所有用户组")) {
   int bob1 = 1;
   int bob2 = 111;
   String bobo = "教师日志管理";
   String bo = "property";
   String bp = "" + path + "logme.do?method=queryLog";
   tre += "\n" + tree + ".nodes[\"" + bob1 + "_" + bob2 + "\"]=\"";
   tre += "text:" + bobo + ";";
   tre += "icon:" + bb + ";";
   tre += "url:" + bp + ";";
   tre += "\"";
  }
  while (r.next()) {
   ids = Integer.parseInt(String.valueOf(r.getInt("id")));
   pids = Integer.parseInt(String.valueOf(r.getInt("parentId")));
   String txt = r.getString("txt");
   String icon = r.getString("icon");
   int  data=Integer.parseInt(String.valueOf(r.getInt("data")));
   String url = r.getString("url");
   //int data=Integer.parseInt(r.getString("data"));
   tre += "\n" + tree + ".nodes[\"" + pids + "_" + ids + "\"]=\"";
   tre += "text:" + txt + ";";
   tre += "icon:" + icon + ";";
   if (url != null) {
    tre += "url:" + path + "" + url
       + data+"";
   }
   tre += "\"";
   tre += ";";
  }
  String sql2 = "select * from tree where parentId='" + ids + "'";
  ResultSet rd = stm.executeQuery(sql2);
  if (rd.next() == false) {
   System.out.println("进入false");
   Connection con = csv.conn();
   Statement sta = con.createStatement();
   rp = stm.executeQuery(sql);
   while (rp.next()) {
    pids = Integer.parseInt(String.valueOf(rp.getInt("parentId")));
   }
   String sql3 = "select * from tree where id='" + pids + "'";
   rt = stm.executeQuery(sql3);
   while (rt.next()) {
    ids = Integer.parseInt(String.valueOf(rt.getInt("id")));
    pids = Integer.parseInt(String.valueOf(rt.getInt("parentId")));
    String txt = rt.getString("txt");
    String icon = rt.getString("icon");
    int  data=Integer.parseInt(String.valueOf(rt.getInt("data")));
    String url = rt.getString("url");
    tre += "\n" + tree + ".nodes[\"" + pids + "_" + ids + "\"]=\"";
    tre += "text:" + txt + ";";
    tre += "icon:" + icon + ";";
    if (url != null) {
     tre += "url:" + path + "" + url
       + data + "";
    }
    tre += "\"";
    tre += ";";
   }
   rs = stm.executeQuery(sql);
   System.out.println("已经构建完毕");
  } else {
   rs = stm.executeQuery(sql2);
  }
  while (rs.next()) {
   int id = Integer.parseInt(String.valueOf(rs.getInt("id")));
   int pid = Integer.parseInt(String.valueOf(rs.getInt("parentId")));
   String txt = rs.getString("txt");
   String icon = rs.getString("icon");
   int  data=Integer.parseInt(String.valueOf(rs.getInt("data")));
   String url = rs.getString("url");
   tre += "\n" + tree + ".nodes[\"" + pid + "_" + id + "\"]=\"";
   tre += "text:" + txt + ";";
   tre += "icon:" + icon + ";";
   if (url != null) {
    tre += "url:" + path + "" + url
      + data+ "";
   }
   tre += "\"";
   tre += ";";
  }
  System.out.println(tre);
  return tre;
}

public String getAddress(String address) throws Exception{
  String txt=null;
  int adderss=Integer.parseInt(address);
  readCSV csv = new readCSV();
  Connection conn = csv.conn();
  Statement stm = conn.createStatement();
  String sql="select txt from tree where id="+adderss;
  rs=stm.executeQuery(sql);
  while(rs.next()){
    txt=rs.getString("txt");
    System.out.println("txt:"+txt);
  }
  return txt;
}
public int getID(String address)throws Exception{
  int ids=0;
  readCSV csv = new readCSV();
  Connection conn = csv.conn();
  Statement stm = conn.createStatement();
  String sql="select id from tree where txt='"+address+"'";
rs=stm.executeQuery(sql);
  while(rs.next()){
   ids = Integer.parseInt(String.valueOf(rs.getInt("id")));;
  }
  return ids;
}
}
-----Test.jsp-----
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page contentType="text/html; charset=utf-8"%>
<%@page import="xxxxx.dao.TreeDao"%>//
//此处为url获取
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<html>
  <head>
<script language="JavaScript" src="scripts/MzTreeView10.js"></script>
<style>
A.MzTreeview
{
   font-size: 9pt;
   padding-left: 3px;
}
a:link {
  color: #003399;
  text-decoration: none;
}
a:visited {
  color: 003399;
  text-decoration: none;
}
a:hover {
  color: #FF6600;
  text-decoration: none;
}
a:active {
  color: 003399;
  text-decoration: none;
}
</style>

<script language="JavaScript">
   var tree = new MzTreeView("tree");
  // alert(MzTreeView.getTreeNode(MzTreeView.selectedNodeIndex).getAttribute("text"));      
   tree.icons["property"] ="book.gif";
   tree.icons["book"] = "book.gif";
   tree.icons["css"]  = "book.gif";   
   tree.iconsExpand["book"] = "bookopen.gif"; //展开时对应的图片
      tree.iconsExpand["property"] = "bookopen.gif";
      tree.iconsExpand["css"] = "bookopen.gif";     
   tree.setIconPath("images/MzTreeView/"); //可用相对路径  
  <%
     TreeDao Tdao=new TreeDao();
     String tst=request.getAttribute("tst").toString();
     String tree=Tdao.getTree(basePath,tst);
     out.print(tree);
     %>
   tree.setURL("#");
   tree.setTarget("main");
   document.write(tree.toString());    //亦可用 obj.innerHTML = tree.toString();
</script>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
  </head>
  <body>&nbsp;
  </body>
</html>
请注意js树控件在下面附件中有下载

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-290405-1-1.html 上篇帖子: MySQL存储过程例子,包含事务,输出参数,嵌套调用,游标,循环等等 下篇帖子: MYSQL每日一用:SELECT 语句中比对(between and \ like \ left)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表