网页树组件的实现(一起探讨)

来源:互联网 发布:eosinfo mac 编辑:程序博客网 时间:2024/05/20 02:55
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

  从年初就想搞一棵java的网页树了.因为太需要有这样一个组件,随时想用就用.前段时间花力气和accp兄两人搞了一会,样子总算出来了.

  怎么说这也是我第一次在CSDN上写文章,当然烂就一个字啦,我也不多说^Q^

  如果是ASP好像就不必自个写这个东西,微软早给咱准备好了这棵树.而我现在想写的也就是类似的一棵树.

  首先是数据库Tree表的定义:

  id           ------->主键(int)

  p_id        ------->父键(int)

  name       ------->名称(varchar(16))

  sortvalue  ------->排序值(int)

  然后是两个树的类:分别是Tree  和  Node

  Tree:  包括添加,删除,修改节点的一些方法,数据库的记录是线性的,并没有排序成一棵树状,获取数据时只需把所有数据取出来通过Tree的addNode方法添加到Tree里,Tree会把记录组织成一棵树.然后通过调用asXML方法即可获得树的XML形式.

  Node:  节点类使用合成模式,用来保存树节点的信息.

  现在来总结一下:

  1.把数据从数据库读出来,添加到Tree里面,以便把线性的数据管理成一棵树.

  2.客户端(一般是JSP)过通调用Tree的asXML方法获得树的XML形式,然后通过套用XSL样式表形成一棵网页树.

   以上是最简单的实现.看示例树你会发现,右边的节点名的背景是蓝色的,其实它是一个文本框,最终我想把它做成可以在网页上动态添加删除的树.

  哎,暂时写到这里,时间太急,写得太粗,源码我也没整理干净,如果需要的话,再贴出来吧.希望能给大家一点点启发,也请大伙给小弟一点点建议.最终做好后我会把源码文档一块贴出来的.

<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>