亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

JSP頁面文件目錄樹源碼(遞歸算法)

2024-09-05 00:20:18
字體:
來源:轉載
供稿:網友
<%@ page contenttype="text/html; charset=gb2312" language="java" import="java.sql.*" errorpage="" %>
<html>
<head>
<title></title>
<meta http-equiv="content-type" content="text/html;charset=gb2312"; >
<script language="javascript">
<!--
function mm_gotourl() { //v3.0
var i, args=mm_gotourl.arguments; document.mm_returnvalue = false;
for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
//-->
</script>
<link href="css/ip.css" rel="stylesheet" type="text/css">
</head>

<body topmargin = "0" leftmargin = "0" marginheight = "0" marginwidth = "0" bgcolor="#ffffff">
<table border="0" cellspacing="0" cellpadding="0" height="80%">
<tr><td>
</td>
</tr>
<tr valign="top">
<td height="223"> <span id="menus"></span>
<span id="view"></span>

</td>
</tr>
<tr valign="bottom">
<td>&nbsp;</td>
</tr>
</table>
<div align="right"></div>
</body>
<script>
/**
* 構造樹,初值為0
*/
function isbrother()
{
var is=flase;

}
function tree(n) {
var id = new array("bar","pad","<img src='http://www.49028c.com/htmldata/2005-08-02/images/midnodeline.gif'border=0 align='absmiddle'><img src='http://www.49028c.com/htmldata/2005-08-02/images/close.gif 'border=0 align='absmiddle'>","<img src='http://www.49028c.com/htmldata/2005-08-02/images/midclosedfolder.gif 'border=0 align='absmiddle'><img src='http://www.49028c.com/htmldata/2005-08-02/images/close.gif 'border=0 align='absmiddle'>","<img src='http://www.49028c.com/htmldata/2005-08-02/images/lastnodeline.gif'border=0 align='absmiddle'><img src='http://www.49028c.com/htmldata/2005-08-02/images/close.gif 'border=0 align='absmiddle'>");
if(n == 0) { // 初始化變量
n = 1;
i = 0;
s = "";
}
s += "<table border=0 cellspacing=0 cellpadding=0 >";
for(;i<tree_ar.length-1;i++) {
var k = (n >= tree_ar[i+1][0])?0:1;
if(tree_ar[i][2]==false)
{
id[2]="<img src='http://www.49028c.com/htmldata/2005-08-02/images/lastnodeline.gif'border=0 align='absmiddle'><img src='http://www.49028c.com/htmldata/2005-08-02/images/close.gif 'border=0 align='absmiddle'>";
}
s += "<tr id='"+id[k]+"' value="+i+"><td >"+id[k+2]+"</td><td>"+tree_ar[i][1]+"</td></tr>"; // // 構造節點,注意這里的自定義屬性value。作用是簡化構造節點的描述,共享參數數組信息。
if(n > tree_ar[i+1][0]) { // 若期望層次大于當前層次,結束本層次返回上一層次。
s += "</td></tr></table>";
return tree_ar[i+1][0];
}
if(n < tree_ar[i+1][0]) { // 若期望層次小于當前層次,遞歸進入下一層次。
s += "<tr style='display:none' ><td ";
if(tree_ar[i][2]==true)
{ //如果有下個兄弟節點,則畫兄弟節點間的連線
s+="background='images/line.gif' border=0 align='absmiddle'";
}

s+="></td><td>";
var m = tree(tree_ar[++i][0]);
s += "</td></tr>";
if(m < n) { // 當遞歸返回值小于當前層次期望值時,將產生連續的返回動作
s += "</table>";
return m;
}
}
}
s += "</table>";
return s;
}
</script>

<script for=pad event=onclick>
// 分枝節點的點擊響應
v = this.parentelement.rows[this.rowindex+1].style;
if(v.display == 'block') {
v.display = 'none';
this.cells[0].innerhtml = "<img src='http://www.49028c.com/htmldata/2005-08-02/images/midclosedfolder.gif 'border=0 align='absmiddle'><img src='http://www.49028c.com/htmldata/2005-08-02/images/close.gif 'border=0 align='absmiddle'>";
view.innerhtml = "";// 自行修改為參數數組定義的閉合動作
}else {
v.display = 'block';
this.cells[0].innerhtml = "<img src='http://www.49028c.com/htmldata/2005-08-02/images/midopenedfolder.gif 'border=0 align='absmiddle'><img src='http://www.49028c.com/htmldata/2005-08-02/images/open.gif 'border=0 align='absmiddle'>";
// view.innerhtml = "<b>"+tree_ar[this.value][1]+"</b>"; // 自行修改為參數數組定義的展開動作
}

/**
* 以下代碼用于關閉已展開的其他分枝
* 如需自行關閉展開的分枝則從這里直接返回或刪去這段代碼
*/
if(! tree_ar[this.value].type) //如該節點為首次進入,則記錄所在層次信息
gentreeinfo(this);
var n = 1*this.value+1;
for(i=n;i<tree_ar.length-1;i++) { // 關閉排列在當前節點之后的樹
if(tree_ar[i].type == "pad") {
tree_ar[i].obj2.style.display = 'none';
tree_ar[i].obj1.cells[0].innerhtml = "<img src='http://www.49028c.com/htmldata/2005-08-02/images/midclosedfolder.gif 'border=0 align='absmiddle'><img src='http://www.49028c.com/htmldata/2005-08-02/images/close.gif 'border=0 align='absmiddle'>";
}
}
while(tree_ar[--n][0] > 1); //回溯到當前樹的起點
while(--n >= 0) // 關閉排列在當前樹的起點之前的樹
if(tree_ar[n].type == "pad") {
tree_ar[n].obj2.style.display = 'none';
tree_ar[n].obj1.cells[0].innerhtml = "<img src='http://www.49028c.com/htmldata/2005-08-02/images/midclosedfolder.gif 'border=0 align='absmiddle'><img src='http://www.49028c.com/htmldata/2005-08-02/images/open.gif 'border=0 align='absmiddle'>";
}


/** 記錄層次信息,用以簡化遍歷樹時的復雜的節點描述 **/
function gentreeinfo(o) {
var el = o.parentelement;
for(var i=0;i<el.rows.length;i++) {
if(el.rows[i].id != "") {
tree_ar[el.rows[i].value].type = el.rows[i].id;
}
if(el.rows[i].id == "pad") {
tree_ar[el.rows[i].value].obj1 = el.rows[i];
tree_ar[el.rows[i].value].obj2 = el.rows[i+1];
}
}
}
</script>

<script for=bar event=onclick>
// 無分枝節點的點擊響應
//view.innerhtml = "<b>"+tree_ar[this.value][1]+"</b>"; // // 自行修改為參數數組定義的點擊動作
// 自行修改為參數數組定義的點擊動作

</script>


<script for=bar event=onclick>
// 無分枝節點的點擊響應
//view.innerhtml = "<b>"+tree_ar[this.value][1]+"</b>"; // /ufffd/ufffd/ufffds/ufffdc/ufffd/ufffd?/ufffdq/ufffd/ufffd/ufffd/ufffd?/ufffd/ufffd?/ufffdi/ufffd_??/ufffd/ufffd
</script>

<script>
/**
* 基本參數數組,根據具體應用自行擴展
* 數據可較簡單的由服務器端提供
* 列1:節點層次
* 列2:節點標題
* 列3: 有無下個兄弟節點
* 其余自行擴充
*/
tree_ar = new array(

<%

filetree tree=new filetree();
string array=tree.showfiletree("e://");

%>
<%=array%>
new array(1,"",false) // 為簡化終止判斷附加的空數據項
);


/*** 創建菜單 ***/
menus.innerhtml =tree(0);
</script>
</html>





import java.io.file;

public class filetree {
public filetree() {
}

/**
*
* 生成文件目錄樹
*
* @param path
* 目錄路徑
* @return 返回jsp 頁面所需的目錄數組(javascript 數組)
*
*/
/*
* 有無兄弟節點
*/
private boolean hasnexetbrother = false;
/*
* 節點層次
*/
private int index=1;

public string showfiletree(string path) {

string s = "";
file dir = new file(path);
if (dir != null && dir.isdirectory()) {
string absolutepath = dir.getabsolutepath();


absolutepath = absolutepath.replaceall("http:////", "http:////////");//對'/'的處理,在jsp參數傳遞時'/'和空格會出現錯誤
absolutepath = absolutepath.replaceall(" ", "@"); //對空格的處理 ,這時用'@'替代
s += "new array(" + index + ",'<a href=filelist.jsp?path="
+ absolutepath + "http://// target=mainframe>" + dir.getname()
+ "</a>'," + hasnexetbrother + "), ";
hasnexetbrother = false;
index++;
file[] dirs = dir.listfiles();
java.util.list list = new java.util.arraylist();
for (int i = 0; i < dirs.length; i++) {
if (dirs[i].isdirectory()) {//去除文件.得到文件夾列表

list.add(dirs[i]);

}
}
for (int i = 0; i < list.size(); i++) {
if (i != list.size() - 1)
hasnexetbrother = true;
string dirpath = ((file) list.get(i)).getabsolutepath();
s += showfiletree(dirpath);//對子文件夾遞歸處理

}
index--;
}

return s;
}
}
中國最大的web開發資源網站及技術社區,
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩h在线观看| 久久精品成人动漫| 国产精品99久久久久久白浆小说| 欧美限制级电影在线观看| 亚洲激情国产精品| 国产精品自产拍高潮在线观看| 91精品国产自产在线| 日韩av在线精品| 在线免费观看羞羞视频一区二区| 亚洲欧美制服综合另类| 亚洲a区在线视频| 国产精品久久久久一区二区| 97国产真实伦对白精彩视频8| 国产精品扒开腿做爽爽爽的视频| 日韩av在线免播放器| 亚洲热线99精品视频| 丰满岳妇乱一区二区三区| 欧美电影免费看| 亚洲国产精品人人爽夜夜爽| 久久中文字幕在线视频| 一区二区在线视频播放| 国产精品欧美日韩一区二区| 俺去亚洲欧洲欧美日韩| 欧亚精品在线观看| 日本高清不卡的在线| 亚洲第一天堂无码专区| 国产激情999| 性欧美在线看片a免费观看| 91精品国产91久久久久久不卡| 91精品啪在线观看麻豆免费| 国产精品第一区| 国产精品免费看久久久香蕉| 亚洲天堂男人天堂女人天堂| 国内精品久久久| 国产精品久久久久久亚洲影视| 亚洲欧美日韩精品久久奇米色影视| 欧美国产亚洲视频| 92福利视频午夜1000合集在线观看| 亚洲欧洲在线播放| 精品免费在线视频| 亚洲精品xxx| 欧美日韩综合视频网址| 欧美一级淫片播放口| 国产精品一区二区3区| 亚洲国产精品va在看黑人| 久热精品视频在线免费观看| 欧美中在线观看| 欧美性猛交xxxx偷拍洗澡| 欧美精品一区二区免费| 粉嫩老牛aⅴ一区二区三区| 欧美人与物videos| 精品久久久久久久久久| 国产99久久精品一区二区| 欧美高清视频在线播放| 亚洲国产成人在线视频| 高清欧美性猛交xxxx黑人猛交| 国产精品自在线| 中文字幕亚洲综合| 国产欧美va欧美va香蕉在| 久久久91精品国产| 亚洲天堂av在线播放| 国产精品日韩精品| 欧美激情亚洲国产| 久久久91精品| 成人在线视频网| 91日本视频在线| 亚洲欧洲成视频免费观看| 亚洲精品在线91| 亚洲精品之草原avav久久| 亚洲国产精品va在线| 视频直播国产精品| 91中文在线视频| 欧美日韩在线第一页| 久久久亚洲欧洲日产国码aⅴ| 精品亚洲一区二区三区四区五区| 欧美在线观看网址综合| 欧美黄色三级网站| 成人在线观看视频网站| 亚洲精品短视频| 国产成+人+综合+亚洲欧洲| 日韩欧美在线视频| 久久久在线视频| 久久中文久久字幕| 久久人人爽人人爽爽久久| 久久精品电影一区二区| 久久99热精品这里久久精品| 久久精品国产亚洲7777| 国产欧美日韩丝袜精品一区| 亚洲精品av在线播放| 成人免费激情视频| 91夜夜未满十八勿入爽爽影院| 一区二区三区视频免费在线观看| 日韩高清不卡av| 久久久久久久久91| 色综合老司机第九色激情| 国产精品美女免费视频| 8050国产精品久久久久久| 欧美最猛性xxxxx(亚洲精品)| 欧美人交a欧美精品| 色偷偷偷综合中文字幕;dd| 精品国产乱码久久久久久天美| 国产精品人人做人人爽| 国产成人aa精品一区在线播放| 欧美最猛性xxxxx(亚洲精品)| 欧美国产视频日韩| 日韩欧美成人网| 欧美交受高潮1| 在线视频亚洲欧美| 久久精品成人一区二区三区| 亚洲人免费视频| 国产成人涩涩涩视频在线观看| 中文字幕久久精品| 狠狠躁夜夜躁人人躁婷婷91| 久久精品国产欧美激情| 欧美最猛性xxxxx亚洲精品| 国产大片精品免费永久看nba| 一区二区欧美激情| 欧美国产欧美亚洲国产日韩mv天天看完整| 日韩中文第一页| 国产精品久久久久免费a∨| 国产精自产拍久久久久久蜜| 国产精品久久久久久久天堂| 日韩av三级在线观看| 久久久亚洲精选| 秋霞成人午夜鲁丝一区二区三区| 久久精品视频网站| 成人欧美一区二区三区黑人孕妇| 国产婷婷色综合av蜜臀av| 欧美激情亚洲激情| 亚洲影院色在线观看免费| 国产亚洲在线播放| 久久影院模特热| 亚洲激情视频网站| 中文国产成人精品| 国产国语videosex另类| 国产精品麻豆va在线播放| 国产成人高清激情视频在线观看| 欧美激情欧美激情在线五月| 另类视频在线观看| 久久久久国产精品www| 日韩在线观看免费| 日韩中文字幕在线| 欧美体内谢she精2性欧美| 777午夜精品福利在线观看| 91sao在线观看国产| 日韩三级影视基地| 亚洲激情视频网| 中文国产成人精品| 九九热在线精品视频| 日韩中文理论片| 久久久久久国产三级电影| 在线视频国产日韩| 亚洲欧美日韩久久久久久| 日韩暖暖在线视频| 欧美成人午夜激情在线| 韩国一区二区电影| 久久天天躁狠狠躁夜夜爽蜜月| 久久精品久久久久久| 狠狠色狠色综合曰曰| 欧美日韩激情美女| 92版电视剧仙鹤神针在线观看| 北条麻妃在线一区二区| 乱亲女秽乱长久久久| 欧美高清激情视频|