从年初就想搞一棵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样式表形成一棵网页树.
以上是最简单的实现.看示例树你会发现,右边的节点名的背景是蓝色的,其实它是一个文本框,最终我想把它做成可以在网页上动态添加删除的树.
哎,暂时写到这里,时间太急,写得太粗,源码我也没整理干净,如果需要的话,再贴出来吧.希望能给大家一点点启发,也请大伙给小弟一点点建议.最终做好后我会把源码文档一块贴出来的.