日期:2014-05-18  浏览次数:20656 次

200分问高手个问题,分不够在加!
我要把一个文件夹做成一个树行结构,效果和csdn论坛左侧的差不多,根结点为文件夹的名字,点击该文件夹,下面列出该文件夹下的文件和子文件夹,在点击子文件夹,列出子文件夹下的文件和子文件夹,支持无限层目录!并且可以链接打开文件!
比如D:/AA下有文件a.word,b.pdf和子文件夹c和子文件夹d,子文件夹c下有文件c1.word....,我点AA下面就列出a.word,b.pdf,c,d,然后我再点子文件夹c或d,就列出子文件夹c或d下的所有的文件了,然后我点文件链接便可打开此文件!在网上看到说用递归可以做出来,但是不知道在jsp中怎样用用递归做出来!不知道windows资源管理器怎么做出来的!郁闷了好多天了!

------解决方案--------------------
你要显示本机上的还是服务器上的目录文件?
------解决方案--------------------
网上有免费的资源。有个叫梅花雪的用js写的一个树,非常好,你可以去看看。
www.meizz.com
上面有写不错资源,可以下载他的源码,看看他的思路,相信对你有很大的帮助
------解决方案--------------------
学习
------解决方案--------------------
要做本机的话无非就是迭代和递归
if(file.isDirector())
{
file.listFiles();之类的
}
------解决方案--------------------
嘿,树的实现方法有很多种。
1.可以有客户端的复杂的javascript实现。
2.可以有服务器端混合javascript实现,实现内容和结构分开,服务端只传递数据,如xml
当然还有其他的实现方式。
个人建议参考一下 tigra_tree,完全能满足你的需要,并且是开源免费的噢

demo:http://www.softcomplex.com/products/tigra_tree_menu_pro/
------解决方案--------------------
帮顶 接分
------解决方案--------------------
1. 你想要的http://amozon.javaeye.com/category/31641?category=9297

2. swing或者swt都有很好的树控件,也很方便扩展
------解决方案--------------------
学习中..
------解决方案--------------------
你百度搜索一下xloadtree,是实现树形菜单的一种方法,是一个js控件。
http://webfx.eae.net在这个网站上有demo,而且还有很多其他的控件,搂主自己下巴。


------解决方案--------------------
见意你看一下dtree,也是一个实现树形菜单的一个javascript控件,基本满足你的要求
www.destroydrop.com/javascript/tree/
上面有源代码,还有示例程序
你可以下来看看
------解决方案--------------------
学习
------解决方案--------------------
学习
------解决方案--------------------
找一下关于遍历磁盘的程序,哪怕是C的,明白怎么个原理就好了。
必要的话,加入一些输出语句,看看执行的过程和每步的结果,就明白了。

向树里加节点就容易了。
------解决方案--------------------
<%@ page contentType= "text/html; charset=gb2312 " %>
<%@ page import= "com.yourcompany.struts.form.* "%>
<%@ page import= "mc_package.* "%>
<%@ page import= "java.util.* "%>
<html>
<head>
<style type=text/css>
body { background:#AAABAC; margin:0px; font:9pt 宋u20307 ; FONT-SIZE: 9pt;text-decoration: none;

table { border:0px; }
td { font:normal 12px 宋u20307 ; }
img { vertical-align:bottom; border:0px; }
a { font:normal 12px 宋u20307 ; color:#000000; text-decoration:none; }
a:hover { color:#cc0000;text-decoration:underline; }
.sec_menu { border-left:1px solid white; border-right:1px solid white; border-bottom:1px solid white; overflow:hidden; background:#EDEDED; }
.menu_title { }
.menu_title span { position:relative; top:2px; left:8px; color:#000000; font-weight:bold; }
.menu_title2 { }
.menu_title2 span { position:relative; top:2px; left:8px; color:#cc0000; font-weight:bold; }

.myscroll{
scrollbar-face-color:#CC0000;
scrollbar-highlight-color:#EDEDED;
scrollbar-shadow-color:#EDEDED;
scrollbar-3dlight-color:#EDEDED;

scrollbar-track-color:#CC0000;