WEB开发网
开发学院WEB开发Jsp Tree图全功略 阅读

Tree图全功略

 2008-01-05 09:54:36 来源:WEB开发网   
核心提示:Tree型结构,Tree图不管在哪个领域都是一个比较吃香的东东,Tree图全功略,在自己的网站或项目中有一个tree型图或tree型结构的权限(或角色,和数据库设计相关),不是必要,只是可以让新手也了解一下关于xml的应用,总能有那么一点点成就感,^_^ 这篇文章就把我自己在这方面应用的实践整理一下拿出来

  Tree型结构,Tree图不管在哪个领域都是一个比较吃香的东东。在自己的网站或项目中有一个tree型图或tree型结构的权限(或角色,和数据库设计相关),总能有那么一点点成就感。^_^

  这篇文章就把我自己在这方面应用的实践整理一下拿出来。为您具体介绍了在Tree有关方面应用的完整实践。

实例如下:

Tree图全功略

左边的tree图的实现方式是通过javascript+jsp实现。假如是为了实现逻辑上的tree结构的维护,采用的是xml解决方案。

现在这里说一下,Javascript+jsp的表现层的实现。这里的javascript并不是唯一的选择,可以在网上下到类似的javascript(究竟是共享的嘛。:) ).点这里可以下载相关代码.

其中的test.htm是javascript例子代码:

 

"d.add(3,0,'技术与方案','admin.php?module=article&action=catelist&cid=3','','_blank');

"中的"3"是当前节点,"0"是父节点,"技术与方案"是tree上显示的节点名,"admin.php?......"指向的url."_blank"是指向的窗口。

从上可以看出,这个javascript已经把tree图实现的大部分工作已经做好了。只要我们传入对应的数据就可以了。

首先是数据库结构。从上可以看出,有节点名,节点id,父节点id,节点url,节点target,还可以有个节点状态(比如是激活或休眠,很常用用一种用法),当然还可以有其它属性,那就要根据项目的需要了。其实只要抓住一点,有唯一节点id和唯一父节点id就可以了(面向对象)就可以了。

有了数据库结构,然后要实现tree图就是根据一定的限制(比如权限,最后对应为tree结构的子集(当然也必须是完整的tree结构))取出符合条件并且完整的tree结构的数据(我采用的解决方法是把权限对应的节点的上溯父节点都取出来保证tree结构的完整性,具体可以看java&xml心得(三)).

假设我们已经完成了上述的工作,那么要实现tree图的代码应该如下:

.........

Untitled document.lt;/title><p> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"><p> <link rel="stylesheet" href="images/cj_styles.Css" type="text/css"><p> <p> </head><p> <p> <body bgcolor="#FFFFFF" text="#000000" leftmargin="2" topmargin="0"><p> <p> <p> <p> <p> <p> <p> </body><p> </html><p> 这样就实现了动态tree图。<p> 上面的这种实现是用jsp+javascript实现。也可以用xml+xsl来实现。不是必要,只是可以让新手也了解一下关于xml的应用。:)<p> 比如我们已经成功把数据库的数据导出成xml格式。代码如下:<p> <?xml version="1.0" ?><p> <?xml:stylesheet type="text/xsl" href="ttx2.xsl" ?><p> <p> <col id="1" label="闆嗗洟鏂伴椈" parentid="29" target="_blank" url="/zdtadmin/default.jsp"></col><p> <col id="2" label="闆嗗洟瑕侀椈" parentid="1" target="_blank" url="/zdtadmin/newsadmin/list.jsp?tree_id=2"></col><p> <col id="3" label="缁煎悎淇℃伅" parentid="1" target="_blank" url="/zdtadmin/newsadmin/list.jsp?tree_id=3"></col><p> <col id="4" label="鏀跨瓥娉曡" parentid="29" target="_blank" url="/zdtadmin/default.jsp"></col><p> <col id="5" label="娉曞緥娉曡" parentid="4" target="_blank" url="/zdtadmin/newsadmin/list.jsp?tree_id=5"></col><p> <col id="7" label="鏀跨瓥鐮旂┒" parentid="4" target="_blank" url="/zdtadmin/newsadmin/list.jsp?tree_id=7"></col><p><br/> <div class="bdlikebutton"></div> <div id="a_l_2" class="ad_b6"></div> </div> <div class="clear"></div> <!--分页--> <div class="clear"></div> <div class="textTags"> <h3>Tags:<a href="/search-Tree.html" target="_blank">Tree</a> <a href="/search-%B9%A6%C2%D4.html" target="_blank">功略</a> </h3><span>编辑录入:爽爽 [<a href="javascript:copyURL();">复制链接</a>] [<a href="javascript:window.print();">打 印</a>]</span> </div> <div class="clear"></div> <div id="a_l_3" class="news_down"></div> <div class="clear"></div> <div class="box_4" id="keywords"><span> <a href="javascript:;">相关阅读</a></span></div> <div class="two_list"> <ul><li>››<a href="/develop/java/33751.html" title="TreeLoader扩展,支持josn-plugin返回的json对象中包含的数组值">TreeLoader扩展,支持josn-plugin返回的json对象中...</a></li> <li>››<a href="/web/jsp/68158.html" title="Tree图全功略">Tree图全功略</a></li> <li>››<a href="/develop/delphi/83432.html" title="TreeView的使用">TreeView的使用</a></li> <li>››<a href="/sheji/js/92782.html" title="TreeView节点互斥,autopostback=false的方法">TreeView节点互斥,autopostback=false的方法</a></li> <li>››<a href="/web/aspnet/49504.html" title="TreeView使用笔记">TreeView使用笔记</a></li> </ul> </div> <div class="clear"></div> <div id="pre_and_next" class="box_5"> <ul> <li><a onclick='window.open("http://www1.baidu.com/baidu?word=Tree图全功略")' href="javascript:"><img src="/skins/icons/icon_baidu.gif" align="absmiddle" border="0" />中查找“Tree图全功略”更多相关内容</a></li> <li><a onclick='window.open("http://www.google.com.hk/search?q=Tree图全功略&client=pub-7181357378968076&forid=1&prog=aff&ie=GB2312&oe=GB2312&hl=zh-CN")' href="javascript:"><img src="/skins/icons/icon_google.gif" align="absmiddle" border="0" />中查找“Tree图全功略”更多相关内容</a></li> <li><strong class="c_blue">上一篇:</strong><a href="/web/jsp/68157.html">Sun用AppServer 8.0反击对手</a></li> <li><strong class="c_blue">下一篇:</strong><a href="/web/jsp/68159.html">关掉那可恶的Dos窗口</a></li> </ul> </div> <div class="box_9"> <h5>更多精彩</h5> <ul><li class="listimg1"><a href="/shouji/iphone/85409.html"><img src="http://www.cncms.com/api/thumb/?w=110&h=80&url=http://tech.cncms.com/tech/UploadPic/2010910/2010910154334428.jpg" alt="iphone 应用程序精选推荐" title="iphone 应用程序精选推荐" width="110" height="80" border="0" /></a><h6><a href="/shouji/iphone/85409.html" title="iphone 应用程序精选推荐">iphone 应用程序精选推荐</a></h6></li> <li class="listimg1"><a href="/yunying/jianzhanxinde/37328.html"><img src="http://www.cncms.com/api/thumb/?w=110&h=80&url=http://tech.cncms.com/tech/UploadPic/2011724/201172484526515.jpg" alt="中国互联网缺乏的是创新 网上招聘换种思维" title="中国互联网缺乏的是创新 网上招聘换种思维" width="110" height="80" border="0" /></a><h6><a href="/yunying/jianzhanxinde/37328.html" title="中国互联网缺乏的是创新 网上招聘换种思维">中国互联网缺乏的是创新 网上招聘换种思维</a></h6></li> <li class="listimg1"><a href="/tuxing/photoshop/70301.html"><img src="http://www.cncms.com/api/thumb/?w=110&h=80&url=http://tech.cncms.com/tech/UploadPic/2010926/2010926121414218.jpeg" alt="Photoshop教程:如何打造一个圆形的全景画" title="Photoshop教程:如何打造一个圆形的全景画" width="110" height="80" border="0" /></a><h6><a href="/tuxing/photoshop/70301.html" title="Photoshop教程:如何打造一个圆形的全景画">Photoshop教程:如何打造一个圆形的全景画</a></h6></li> <li class="listimg1"><a href="/os/vista/83114.html"><img src="http://www.cncms.com/api/thumb/?w=110&h=80&url=http://tech.cncms.com/tech/UploadPic/2010927/201092717423386.gif" alt="利用Windows vista的权限设置防治U盘病毒" title="利用Windows vista的权限设置防治U盘病毒" width="110" height="80" border="0" /></a><h6><a href="/os/vista/83114.html" title="利用Windows vista的权限设置防治U盘病毒">利用Windows vista的权限设置防治U盘病毒</a></h6></li> <li class="listimg1"><a href="/tuxing/photoshop/20223.html"><img src="http://www.cncms.com/api/thumb/?w=110&h=80&url=http://tech.cncms.com/tech/UploadPic/2010912/2010912202812282.jpg" alt="Photoshop特效:模仿浪漫的沙滩写字" title="Photoshop特效:模仿浪漫的沙滩写字" width="110" height="80" border="0" /></a><h6><a href="/tuxing/photoshop/20223.html" title="Photoshop特效:模仿浪漫的沙滩写字">Photoshop特效:模仿浪漫的沙滩写字</a></h6></li> </ul> </div> <div class="box_10"> <h5>赞助商链接</h5> <p><span id="a_l_4"><img src="/images/loading.gif" /></span></p> </div> </div> </div><!--内容区域结束--> <div class="sbox_2 f_r"> <div id="a_r_1" class="ad_side"></div> <div class="bk_6"></div> <div class="clear"></div> <div class="tw_list"> <h5>热点阅读</h5> <ul><li> <a href="/shouji/android/96431.html">Android手机如何取消安全模式</a></li> <li> <a href="/shouji/android/34186.html">可以直接越狱翻墙的Android手机版Opera Min...</a></li> <li> <a href="/shouji/android/98322.html">android 从资源中获取数组</a></li> <li> <a href="/ruanjian/yingyin/50390.html">用iSee图片专家给宝贝图片批量更名</a></li> <li> <a href="/shouji/iphone/85613.html">免费全国车辆违章查询 手机版</a></li> <li> <a href="/shouji/android/97062.html">android 中监听按键的长按事件</a></li> <li> <a href="/develop/java/95223.html">javadoc中的{@link }和{@linkplain }标签</a></li> <li> <a href="/os/unix/95955.html">Linux/ubuntu 查看JDK版本是32位还是64位</a></li> <li> <a href="/tuxing/3dmax/89978.html">VRay毛发地毯的制作教程</a></li> <li> <a href="/shujuku/mysql/96921.html">MySQL修改字段默认值</a></li> </ul> </div> <div class="pic_list"> <h5>焦点图片</h5> <ul><li class="listimg1"><a href="/shouji/android/98318.html"><img src="http://www.cncms.com/api/thumb/?w=130&h=90&url=http://tech.cncms.com/tech/UploadPic/2013-10/201310512174941156.jpg" alt="Android获取SD卡总容量,可用大小,机身内存总容量及可用大小的系统方法" title="Android获取SD卡总容量,可用大小,机身内存总容量及可用大小的系统方法" width="130" height="90" border="0" /></a><h6><a href="/shouji/android/98318.html" title="Android获取SD卡总容量,可用大小,机身内存总容量及可用大小的系统方法">Android获取SD卡总容量...</a></h6></li> <li class="listimg1"><a href="/tuxing/photoshop/98152.html"><img src="http://www.cncms.com/api/thumb/?w=130&h=90&url=http://tech.cncms.com/tech/UploadPic/2013-8/2013813201123813.jpg" alt="Photoshop调出内衣美女照柔美效果" title="Photoshop调出内衣美女照柔美效果" width="130" height="90" border="0" /></a><h6><a href="/tuxing/photoshop/98152.html" title="Photoshop调出内衣美女照柔美效果">Photoshop调出内衣美女...</a></h6></li> <li class="listimg1"><a href="/os/windows7/98158.html"><img src="http://www.cncms.com/api/thumb/?w=130&h=90&url=http://tech.cncms.com/tech/UploadPic/2013-8/20138132088510.gif" alt="Windows7系统下有线网络优先级设置" title="Windows7系统下有线网络优先级设置" width="130" height="90" border="0" /></a><h6><a href="/os/windows7/98158.html" title="Windows7系统下有线网络优先级设置">Windows7系统下有线网...</a></h6></li> <li class="listimg1"><a href="/ruanjian/wangluo/98119.html"><img src="http://www.cncms.com/api/thumb/?w=130&h=90&url=http://tech.cncms.com/tech/UploadPic/2013-8/20138513363447766.jpg" alt="解决FF浏览器和IE下载文件乱码问题" title="解决FF浏览器和IE下载文件乱码问题" width="130" height="90" border="0" /></a><h6><a href="/ruanjian/wangluo/98119.html" title="解决FF浏览器和IE下载文件乱码问题">解决FF浏览器和IE下载...</a></h6></li> </ul> </div> <div class="clear"></div> <div class="tw_list"> <h5>最新推荐</h5> <ul><li> <a href="/shouji/android/98382.html">Android 如何修改默认输入法</a></li> <li> <a href="/os/windows8/98328.html">Windows 8中将开始菜单(metro界面)创建关机...</a></li> <li> <a href="/shouji/android/98318.html">Android获取SD卡总容量,可用大小,机身内存...</a></li> <li> <a href="/os/unix/98236.html">详解Linux 系统命令及其使用</a></li> <li> <a href="/sheji/html/98189.html">解决网页内容无法复制</a></li> <li> <a href="/os/windows7/98165.html">实用的Win 7远程桌面连接技巧</a></li> <li> <a href="/tuxing/photoshop/98152.html">Photoshop调出内衣美女照柔美效果</a></li> <li> <a href="/os/windows7/98158.html">Windows7系统下有线网络优先级设置</a></li> <li> <a href="/sheji/js/98126.html">JQuery实现下拉,单选,复选三大控件方法,</a></li> <li> <a href="/web/php/98125.html">php常用过滤非法/特殊字符串的方法</a></li> </ul> </div> <div class="bk_10"></div> <div class="clear"></div> <div id="a_r_2" class="ad_side"></div> <div class="bk_10"></div> <div class="clear"></div> <div class="tw_list"> <h5>精彩阅读</h5> <ul> <li> <a href="/anquan/firewall/27664.html">使用Linux防火墙伪装来抵住黑客攻击</a></li> <li> <a href="/shujuku/mssql/18881.html">详解在不同的SQL Server数据库之间查询数据...</a></li> <li> <a href="/tuxing/photoshop/72114.html">Photoshop调出暗调婚片经典青绿色</a></li> <li> <a href="/fuwuqi/strategy/46073.html">浅谈 HACMP 心跳</a></li> <li> <a href="/tuxing/maya/29072.html">MayaMel基础教程(4)</a></li> <li> <a href="/web/jsp/66361.html">使用Java操作二进制文件</a></li> <li> <a href="/web/aspnet/49029.html">[视频]Visual Studio 2005入门之SqlDataSou...</a></li> <li> <a href="/tuxing/fireworks/90900.html">Fireworks滚盖图技巧高级篇</a></li> <li> <a href="/develop/python/52362.html">开放标准、开放源码和 Domino 6: 通过 Pyth...</a></li> <li> <a href="/os/vista/79770.html">高手支妙招 让Vista加密解密变得更快捷</a></li> <li> <a href="/shouji/iphone/86728.html">怎么握最容易影响苹果iPhone 4手机信号</a></li> <li> <a href="/ruanjian/xitong/95584.html">Visual Studio 11全新黑色主题</a></li> <li></ul> </div> </div> <div class="clear"></div> </div> <div class="bk_10"></div> <div id="foot_link" class="main center"> <a href="http://tech.cncms.com/">技术首页</a> | 关于本站 | <a href="http://sighttp.qq.com/msgrd?v=1&uin=195427478&site=web开发网广告投放tech.cncms.com&menu=yes">广告合作</a> | <a href="http://sighttp.qq.com/msgrd?v=1&uin=749081771&site=web开发网tech.cncms.com&menu=yes">联系我们</a> | <a href="/link/" target="_blank">友情连接</a> | <a href="/sitemap.html">网站地图</a> </div> <div id="foot" class="center">  Copyright © 2003-2013 <a href="http://www.cncms.com" target="_blank"><font face="Verdana, Arial, Helvetica, sans-serif"><b>CnCms<font color="#cc0000">.Com</font></b></font></a>. All Rights Reserved 京ICP备10000768号 <script language="JavaScript">footer();</script> </div> <div class="dis_n"><script language="JavaScript">tongjipv();</script></div> </body> </html> <div id="html_js"> <div id="a_h_1_js"><script>ad_h_1();</script></div><script>swapHTML('a_h_1');</script> <div id="a_l_1_js"><script>ad_l_1();</script></div><script>swapHTML('a_l_1');</script> <div id="a_l_2_js"><script>ad_l_2();</script></div><script>swapHTML('a_l_2');</script> <div id="a_l_3_js"><script>ad_l_3();</script></div><script>swapHTML('a_l_3');</script> <div id="a_l_4_js"><script>ad_l_4();</script></div><script>swapHTML('a_l_4');</script> <div id="a_r_1_js"><script>ad_r_1();</script></div><script>swapHTML('a_r_1');</script> <div id="a_r_2_js"><script>ad_r_2();</script></div><script>swapHTML('a_r_2');</script> </div> <script language="JavaScript" src="/tech/hits.asp?id=68158&type=1"></script> <script language="JavaScript" src="/tech/checkhtml.asp?id=68158&d=2015-4-27 20:53:16"></script> <!-- 将此代码放在适当的位置,建议在body结束前 --> <script id="bdlike_shell"></script> <script> var bdShare_config = { "type":"large", "color":"green", "uid":"663602", "likeText":"点击分享给好友", "likedText":"CNCMS.COM", "share":"yes" }; document.getElementById("bdlike_shell").src="http://bdimg.share.baidu.com/static/js/like_shell.js?t=" + new Date().getHours(); </script>