這個文件的開發的設計思想是這樣的。有的web 網站,或者B/S 軟件的客戶,在軟件的安裝調試階段,往往對某些細節有特殊要求,也許,是字體的調整,也許是界面方面的小改動意見。面對這樣的情況,如果用戶沒有開放FTP 功能,則開發和維護人員往往就必須親臨現場做一些很小的調試工作。 即浪費了時間,也浪費了人力物力。 在這樣的情況下,我開發了這個具有文件管理功能的 JSP 單頁面文件。它提供了文件夾的新增,更名,刪除;文件的修改,更名,刪除和上傳的功能。基本能滿足在軟件的安裝調試階段,小的修改工作。 為了安全原因,該JSP 頁面提供了簡單的用戶登陸功能。 使用前,把該文件置于網站文件,或者B/S 產品的任意目錄下。開放文件安裝目錄的 讀寫 操作權限。用戶遠程登陸該JSP 頁面,就可以行使管理功能。當安裝維護階段結束以后,請修改文件安裝目錄的 讀寫 權限,并刪除該文件,以免留下安全隱患。 缺省,登陸用戶名為:admin 密碼為:oddworld 開發環境 jakarta-tomcat-4.0.3.exe 注意:因為本軟件的上傳文件功能必須有 smartupload 組件支持。請把smartupload 置于tomcat 對應文件夾web-inf 下。如果你支持上傳的組件有所不同,請自行調整。 簡要開發說明:因為本文件并不復雜,加上本人自我感覺,文檔說明雖然不規范,卻也詳細,所以只打算簡要的關于一些小細節上做說明。 1. 本文件進行文件目錄操作的時候,直接把目錄當參數來傳遞,沒有進行相應的轉換。這是因為在 java 中, “\英文字符”有可能會被認為是轉意字符,而引起在字符處理過程中出現無法預期的問題,所以我認為直接把目錄來作為參數,在操作上比較合理。 2. 本文件在一些表單的提交方面,使用連接,而不是按鈕,是因為 javascript 處理帶 “\”的字符串時,也會有處理轉意字符的可能,所以,為了防止這樣的情況,所以傳遞目錄參數的提交,都使用連接形式。 3. strStat,strErr 兩個字符串,貫穿文件始終,前者為頁面進行何種操作的判斷命令,后者為在所有操作中出錯的信息提示。 4. 本文件有可能引起的安全或者其它方面的糾紛,本人不做任何解釋。我只是把該文件作為一個免費的工具提供給大家參考,使用。 ---------------------------------------------------------------- 文件內容 admin.jsp <%-- oddWorld 網站文件管理系統(簡體中文版) 2003年10月10日 copy right by joard Ast admin.jsp 功能:網站文件后臺管理頁面。 --%> <%@ page contentType="text/html;charset=gb2312" %> <%@ page import="java.io.*" %> <%@ page import="java.util.Date" %> <%@ page import="com.jspsmart.upload.SmartUpload" %> <%@ page import="javax.servlet.http.HttpSession" %> <%@ page import="javax.servlet.http.HttpServletRequest" %> <%@ page import="java.lang.reflect.*" %> <% //中文字符轉換%> <%! public static String UnicodeToChinese(String s){ try{ if(s==null||s.equals("")) return ""; String newstring=null; newstring=new String(s.getBytes("ISO8859_1"),"gb2312"); return newstring; } catch(UnsupportedEncodingException e) { return s; } } public static String ChineseToUnicode(String s){ try{ if(s==null||s.equals("")) return ""; String newstring=null; newstring=new String(s.getBytes("gb2312"),"ISO8859_1"); return newstring; } catch(UnsupportedEncodingException e) { return s; } } %> <% //刷新問題 response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires", 0); //自定義登陸用密碼和用戶名 //正確的用戶名 String username="admin" //正確的密碼 String userpass="oddworld";
//得到系統路徑 ServletContext app=(ServletContext)pageContext.getServletContext(); String strSysPath = app.getRealPath("/"); //處理對象物理路徑 String strDealPath=""; //顯示錯誤信息 String strErr=""; //代表頁面的顯示狀態,login 是顯示登陸頁面;show 是正常的顯示文件信息;edit 是顯示編輯文件的頁面;editDo 是編輯文件的寫入操作 ;createF 是顯示創建文件夾的頁面;createFDo 是創建文件夾的操作;renameFold 是顯示更改文件夾名稱的頁面;renameFoldDo 是更改文 件夾名稱的操作;delFoldDo 是刪除文件夾的操作;renameFile 是顯示更改文件名稱的頁面;renameFileDo 是更改文件名稱的操作; delFileDo 是刪除文件的操作;uploadFile 是顯示上傳文件的頁面;uploadFileDo 是上傳文件的操作; String strStat="login"; //用于show 狀態下顯示文件的數組 File[] fileArr=null; //根據傳遞的路徑參數得到要處理對象的物理路徑 if (request.getParameter("path")==null || request.getParameter("path").equals("")){ strDealPath=strSysPath; }else{ //得到路徑參數 strDealPath=UnicodeToChinese(request.getParameter("path")); } //檢查session 的值是否存在,如果不存在著顯示錯誤信息 //HttpSession session = request.getSession(false); if (session.getValue("loginIn")==null || !session.getValue("loginIn").equals("pass")) { strStat="login"; strErr="你還沒有登陸或者登陸超時,請重新登陸!"; } //創建file 對象,檢查目錄是否存在 File myFile=new File(strDealPath); //檢驗文件夾是否存在 if(!myFile.exists()){ strErr="你選擇的文件夾不存在,請重新選擇!"; } //根據參數的不同,進行對應的操作 if(request.getParameter("act")==null || request.getParameter("act").equals("") || request.getParameter("act").equals("login")) { if(request.getParameter("username")!=null && request.getParameter("userpass")!=null) { //正確的經過MD5 加密的密碼 //String userpass="OEEO99107DC8C1EE2E06666B965601EF"; if(request.getParameter("username").equals(username) && (request.getParameter("userpass")).equals(userpass)) { session.putValue("loginIn","pass"); response.sendRedirect(request.getRequestURI()+"?act=show"); } } else { strStat="login"; strErr="你還沒有登陸或者登陸超時,請重新登陸!"; } }else if(request.getParameter("act").equals("show")){ //缺省,頁面正常顯示文件的信息 statStat="show" strStat="show"; //創建文件列表數組 fileArr=myFile.listFiles(); }else if(request.getParameter("act").equals("edit")) { //編輯文件內容的頁面 //根據是否有request.getParameter("file"),以及相應文件是否存在,如果有,則進行編輯操作,如果沒有,則顯示錯誤提示信息 if (!(request.getParameter("file")==null || request.getParameter("file").equals(""))){ File fileEdit=new File(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file"))); if(fileEdit.exists()) //文件編輯操作,實際就是更改頁面的顯示,用一個textarea 顯示文件的信息,來做編輯 strStat="edit"; else //顯示錯誤信息 strErr="你選擇的文件不存在,請重新選擇!"; }else{ strErr="你沒有選擇要編輯的文件,請重新選擇!"; } }else if(request.getParameter("act").equals("editDo")) { //把修改的內容寫入文件,并且返回修改頁面 if (!(request.getParameter("file")==null || request.getParameter("file").equals(""))) { File fileEdit=new File(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file"))); if(fileEdit.exists()) { //文件編輯操作,實際就是在修改文件內容以后,再于頁面上用一個textarea 顯示文件的內容,繼續來做編輯或者 查看修改的效果 if(!(request.getParameter("fileData")==null)) { try{ PrintWriter pwEdit =null; pwEdit=new PrintWriter(new FileOutputStream(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file")))); pwEdit.println(UnicodeToChinese(request.getParameter("fileData"))); pwEdit.close(); response.sendRedirect(request.getRequestURI()+"?path="+ UnicodeToChinese(request.getParameter("path")) +"&file="+ UnicodeToChinese(request.getParameter("file")) +"&act=edit"); return; }catch(Exception e){ strErr="文件寫入錯誤,請重新選擇!"; } }else{ strErr="缺少修改文件內容的參數,請重新選擇!"; } }else //顯示錯誤信息 strErr="你選擇的文件不存在,請重新選擇!"; }else{ strErr="你沒有選擇要編輯的文件,請重新選擇!"; } }else if(request.getParameter("act").equals("createF")) { //創建新的文件夾的頁面顯示 strStat="createF"; }else if(request.getParameter("act").equals("createFDo")) { //創建新的文件夾 String strFoldName=strDealPath+UnicodeToChinese(request.getParameter("foldName")).trim()+"\\"; //out.println(strFoldName); //out.close(); File fileCreateF=new File(strFoldName); if(!fileCreateF.exists()) { try{ fileCreateF.mkdir(); response.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show"); return; }catch(Exception e){ strErr="創建新文件夾失敗!"; } } else { strErr="指定的文件夾名稱和現有的文件夾名稱重復,請重新指定一個新的文件夾名稱!"; } }else if(request.getParameter("act").equals("delFoldDo")) { //刪除操作 try{ String strFileDelF=strDealPath+UnicodeToChinese(request.getParameter("fold"))+"\\"; File fileDelF=new File(strFileDelF); if(fileDelF.exists()){ File[] fileArrCheck=fileDelF.listFiles(); if(!(fileArrCheck.length>0)) { fileDelF.delete(); response.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show"); return; }else { strErr="文件夾下面還包含著文件,請把文件都刪除,再刪除文件夾"; } }else{ strErr="要刪除的文件夾不存在,請重新選擇"; } }catch(Exception e) { strErr="文件夾刪除操作錯誤!"; } }else if(request.getParameter("act").equals("renameFold")) { strStat="renameFold"; }else if(request.getParameter("act").equals("renameFoldDo")) { //文件夾更名操作 //根據參數判斷是否對于文件夾名稱有更改動作發生 if(request.getParameter("changeDo").equals("true")) { //有文件名,更名發生 try{ String strFileRenameF=strDealPath+UnicodeToChinese(request.getParameter("fold"))+"\\"; File fileRenameF=new File(strFileRenameF); String strFileRenameToF=strDealPath+UnicodeToChinese(request.getParameter("newFoldName"))+"\\"; File fileRenameToF=new File(strFileRenameToF); //判斷更名的文件夾是否存在 if(fileRenameF.exists()){ //判斷新的文件夾名稱是否與現存的文件夾重名 if(!fileRenameToF.exists()) { fileRenameF.renameTo(fileRenameToF); response.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show"); return; }else { strErr="指定的文件夾名稱和現有的文件夾名稱重復,請重新指定一個文件夾名稱!"; } }else{ strErr="要更名的文件夾不存在,請重新選擇"; } }catch(Exception e) { strErr="文件夾更名操作錯誤!"; } } }else if(request.getParameter("act").equals("renameFile")) { strStat="renameFile"; }else if(request.getParameter("act").equals("renameFileDo")) { //文件更名操作 //根據參數判斷是否對于文件名稱有更改動作發生 if(request.getParameter("changeDo").equals("true")) { //有文件名,更名發生 try{ String strFileRenameFi=strDealPath+UnicodeToChinese(request.getParameter("file")); File fileRenameFi=new File(strFileRenameFi); String strFileRenameToFi=strDealPath+UnicodeToChinese(request.getParameter("newFileName")); File fileRenameToFi=new File(strFileRenameToFi); //判斷更名的文件是否存在 if(fileRenameFi.exists()){ //判斷新的文件名稱是否與現存的文件重名 if(!fileRenameToFi.exists()) { fileRenameFi.renameTo(fileRenameToFi); response.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show"); return; }else { strErr="指定的文件名稱和現有的文件名稱重復,請重新指定一個文件名稱!"; } }else{ strErr="要更名的文件不存在,請重新選擇"; } }catch(Exception e) { strErr="文件更名操作錯誤!"; } } }else if(request.getParameter("act").equals("delFileDo")) { //刪除操作 try{ String strFileDelFi=strDealPath+UnicodeToChinese(request.getParameter("file")); File fileDelFi=new File(strFileDelFi); if(fileDelFi.exists()) { fileDelFi.delete(); response.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show"); return; }else{ strErr="要刪除的文件不存在,請重新選擇"; } }catch(Exception e) { strErr="文件刪除操作錯誤!"; } }else if(request.getParameter("act").equals("uploadFile")) { strStat="uploadFile"; }else if(request.getParameter("act").equals("uploadFileDo")) { %> <jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" /> <% //上傳文件操作 mySmartUpload.initialize(pageContext); mySmartUpload.setTotalMaxFileSize(1000000); try { mySmartUpload.upload(); mySmartUpload.save(strDealPath); response.sendRedirect(request.getRequestURI()+"?path="+strDealPath+"&act=show"); return; } catch (Exception e) { strErr="文件上傳出錯,請檢查是否超過1M 的文件大小限制!"; } } %> <% out.println(strStat); %> <HTML><HEAD><TITLE>Directory Listing For /</TITLE> <META content="text/html; charset=utf-8" http-equiv=Content-Type> <META content="MSHTML 5.00.2920.0" name=GENERATOR></HEAD> <BODY bgColor=white> <div align="center"> <table border=0 cellpadding=5 cellspacing=0 width="90%"> <tbody> <tr> <td align=left bgcolor=#000066 valign=bottom><font color=#ffffff face=宋體 size=4 Roman? New ,?times><b> 網站文件管理器</b></font></td> <td align=right bgcolor=#000066 valign=bottom><font color=#ffffff face=宋體 size=4 Roman? New ,?times><b> <strong><%=request.getContextPath()%></strong></b></font></td> </tr> </tbody> </table> <table width="90%" border="0" cellspacing="0" cellpadding="5"> <tr> <td><font size="2"><b>物理路徑:</b><%=strDealPath%></font></td> </tr> </table> <br> <% if (strStat.equals("login")){%> <table width="300" border="0" cellspacing="1" cellpadding="0" > <tr> <td height="200" valign="top" align="center"> <p align="center"> <table width="100%" border="0" cellspacing="1" cellpadding="5" bgcolor=#999999 class=a9px> <tr> <td bgcolor="#cccccc"><font size=+2>登錄</font></td> </tr> <tr> <td bgcolor="#FFFFFF" valign="top" align="center"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <form name=dataform method=post action='<%=request.getRequestURI()%>?act=login'> <tr> <td width="100"><b><font size="-1">登錄名:</font></b></td> <td> <input maxlength=16 name="username" value=""> </td> </tr> <tr> <td width="100"><b><font size="-1">密碼:</font></b></td> <td> <input class=stedit maxlength=16 name="userpass" value=""> </td> </tr> </form> </table> <br> <table border=0 cellpadding=0 cellspacing=0> <tbody> <tr> <td> <input name=update onClick="javascript:if (checkform()==false);" type=button value="登 錄"> </td> <td> </td> <td> </td> </tr> </tbody> </table> <br> </td> </tr> </table> </td> </tr> </table> <% //錯誤信息顯示 }else if(strErr!=""){ %> <table width="90%" border="0" cellspacing="0" cellpadding="5"> <tr> <td><font size=+2><strong>操作錯誤</strong></font></td> </tr> </table> <table align=center cellpadding=5 cellspacing=0 width="90%"> <form name=dataForm2 action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&fold=<%=UnicodeToChinese(reques t.getParameter("fold"))%>&act=renameFoldDo" method="post"> <tbody> <tr bgcolor=#cccccc> <td align=left bgcolor="#cccccc"><strong><font size="-1">錯誤原因:</font></strong></td> </tr> <tr> <td align=left><TT><font color="red"><%=strErr%></font></TT> </td> </tr> <tr> <td bgcolor=#cccccc align="center"><TT>[ <a href="javascript:history.go(-1);">返回操作</a> ]</TT> <tt>[ <a href="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">返回目錄</a> ]<input type=hidden name="changeDo" value="false"></tt> </td> </tr> </tbody> </form> </table> <% }else if(strStat.equals("show")){ //正常顯示頁面 %> <table width="90%" border="0" cellspacing="0" cellpadding="5"> <tr> <td><font size=+2><strong>目錄列表:</strong></font></td> </tr> </table> <table align=center cellpadding=5 cellspacing=0 width="90%"> <tbody> <tr bgcolor=#cccccc> <td align=left><font size=+1><strong><font size="-1">名稱</font></strong></font><TT>(單擊進入相應目錄)</TT></td> <td align=center><font size=+1><strong><font size="-1">修改時間</font></strong></font></td> <td align=center><b><font size="-1">重命名</font></b></td> <td align=center><b><font size="-1">刪除</font></b></td> </tr> <% //顯示表格行的初始顏色 String bgColor=""; //如果不是根目錄,則顯示一個回到上層目錄的連接 if(!(strDealPath.equals(strSysPath))){%> <tr bgcolor=<%=bgColor%>> <td align=left > <tt><font color=#000066 face=WingDings size=4>0</font><a title="單擊進入上層目錄" href="<%=request.getRequestURI()%>?path=<%=(myFile.getParent())+"\\"%>&act=show">上層目錄</a></tt></td> <td align=right> </td> <td align=center> </td> <td align=center> </td> </tr> <% } for(int i=0 ; i<fileArr.length ; i++){ //如果是文件夾則顯示 if(fileArr[i].isDirectory()){ //顏色隔行變換 bgColor=bgColor.equals("#eeeeee") ? "" : "#eeeeee"; %> <tr bgcolor=<%=bgColor%>> <td align=left > <tt><FONT color=#000066 face=WingDings size=4>0</FONT><a title="單擊進入相應目錄" href="<%=request.getRequestURI()%>?path=<%=strDealPath+fileArr[i].getName()+"\\"%>&act=show"><%=fileArr[i].getName()%></a></t t></td> <td align=center><tt><%=(new Date(fileArr[i].lastModified()))%></tt></td> <td align=center><TT><a href="<%=request.getRequestURI()%>?path=<%=strDealPath%>&fold=<%=fileArr[i].getName()%>&act=renameFold">重命名</a></TT></td> <form name="dataFormFold<%=i%>" method="post" action="<%=request.getRequestURI()%>?path=<%=strDealPath%>&fold=<%=fileArr[i].getName()%>&act=delFoldDo"><td align=center><TT><a href="javascript:if(confirm('確實要刪除該文件夾,所有的內容將不能繼續使用? ')){window.dataFormFold<%=i%>.submit();}">刪除</a></TT></td></form> </tr> <% } } %> <tr align="center"> <td bgcolor=#cccccc colspan=4><TT>[ <a href="<%=request.getRequestURI()%>?path=<%=strDealPath%>&act=createF">新建文件夾 </a> ]</TT></td> </tr> </tbody> </table> <table width="90%" border="0" cellspacing="0" cellpadding="5"> <tr> <td><font size=+2><strong>文件列表:</strong></font></td> </tr> </table> <TABLE align=center cellPadding=5 cellSpacing=0 width="90%"> <TBODY> <TR bgColor=#cccccc> <TD align=left><FONT size=+1><STRONG><font size="-1">名稱</font></STRONG></FONT><TT>(單擊編輯相應文件)</TT></TD> <TD align=center><FONT size=+1><strong><font size="-1">大小</font></strong></FONT></TD> <TD align=center><FONT size=+1><STRONG><font size="-1">修改時間</font></STRONG></FONT></TD> <TD align=center><b><font size="-1">重命名</font></b></TD> <TD align=center><b><font size="-1">刪除</font></b></TD> </TR> <% bgColor="#eeeeee"; if(fileArr.length!=0){ for(int i=0 ; i<fileArr.length ; i++){ //如果是文件則顯示 if(fileArr[i].isFile()){ bgColor=bgColor.equals("#eeeeee") ? "" : "#eeeeee"; %> <TR bgColor=<%=bgColor%>> <TD align=left > <TT><FONT color=#000066 face=WingDings size=4>3</FONT><a title="單擊編輯相應文件" href="<%=request.getRequestURI()%>?path=<%=strDealPath%>&file=<%=fileArr[i].getName()%>&act=edit"><%=fileArr[i].getName()%></ a></TT></TD> <TD align=center><TT><%=fileArr[i].length()%></TT></TD> <TD align=center><TT><%=(new Date(fileArr[i].lastModified()))%></TT></TD> <TD align=center><TT><a href="<%=request.getRequestURI()%>?path=<%=strDealPath%>&file=<%=fileArr[i].getName()%>&act=renameFile">重命名</a></TT></TD> <form name="dataFormFile<%=i%>" method="post" action="<%=request.getRequestURI()%>?path=<%=strDealPath%>&file=<%=fileArr[i].getName()%>&act=delFileDo"><TD align=center><TT><a href="javascript:if(confirm('確實要刪除該文件,內容將不能繼續使用? ')){window.dataFormFile<%=i%>.submit();}">刪除</a></TT></TD></form> </TR> <% } } }else {%> <TR> <TD align=left > <TT>沒有文件</TT></TD> <TD align=right> </TD> <TD align=right> </TD> <TD align=center> </TD> <TD align=center> </TD> </TR> <%}%> <TR align="center"> <TD bgColor=#cccccc colSpan=5><TT>[ <a href="<%=request.getRequestURI()%>?path=<%=strDealPath%>&act=uploadFile">上傳文 件</a> ]</TT></TD> </TR> </TBODY> </TABLE> <% //正常顯示狀態結束 }else if(strStat.equals("edit")){ //文件編輯狀態 BufferedReader bufReadIn=new BufferedReader(new FileReader(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file")))); String strContext=""; String strReadLine=""; %> <table width="90%" border="0" cellspacing="0" cellpadding="5"> <tr> <td><font size=+2><strong>編輯文件:</strong></font></td> </tr> </table> <table align=center cellpadding=5 cellspacing=0 width="90%"> <form name=dataForm action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&file=<%=UnicodeToChinese(reques t.getParameter("file"))%>&act=editDo" method="post"> <tbody> <tr bgcolor=#cccccc> <td align=left><font size=+1><strong><font size="-1">文件名稱</font></strong></font><tt><font color=#000066 face=WingDings size=4>3</font><%=(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file")))%></tt></td> </tr> <tr> <td align=center><textarea name="fileData" rows=18 cols=70 wrap=""OFF""><% while((strReadLine=bufReadIn.readLine())!=null) out.println(strReadLine); bufReadIn.close();%></textarea></td> </tr> <tr> <td bgcolor=#cccccc align="center"> <TT>[ <a href="javascript:window.dataForm.submit();">提交內容</a> ]</TT> <TT>[ <a href="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">返回目錄</a> ]</TT> </td> </tr> </tbody> </form> </table> <% }else if(strStat.equals("createF")){ %> <table width="90%" border="0" cellspacing="0" cellpadding="5"> <tr> <td><font size=+2><strong>創建文件夾:</strong></font></td> </tr> </table> <table align=center cellpadding=5 cellspacing=0 width="90%"> <form name=dataForm action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=createFDo" method="post"> <tbody> <tr bgcolor=#cccccc> <td align=left><font size=+1><strong><font size="-1">你要創建的文件夾在</font></strong></font><font color=#000066 face=WingDings size=4>0</font><tt><%=(UnicodeToChinese(request.getParameter("path")))%></tt><font size=+1><strong><font size="-1">下 </font></strong></font></td> </tr> <tr> <td align=left> <TT>新建文件夾名稱:</TT><input type=text name=foldName value="" maxlength="50" size="50"> </td> </tr> <tr> <td bgcolor=#cccccc align="center"> <tt>[ <a href="javascript:if (checkForm()==false);">提交內容</a> ]</tt> <tt>[ <a href="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">返回目錄</a> ]</tt> </td> </tr> </tbody> </form> </table> <% }else if(strStat.equals("renameFold")) { %> <table width="90%" border="0" cellspacing="0" cellpadding="5"> <tr> <td><font size=+2><strong>重命名文件夾:</strong></font></td> </tr> </table> <table align=center cellpadding=5 cellspacing=0 width="90%"> <form name=dataForm2 action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&fold=<%=UnicodeToChinese(reques t.getParameter("fold"))%>&act=renameFoldDo" method="post"> <tbody> <tr bgcolor=#cccccc> <td align=left><font size=+1><strong><font size="-1">你要重命名的文件夾</font></strong></font><font color=#000066 face=WingDings size=4>0</font><tt><%=(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("fold"))+"\\")%>< /tt></td> </tr> <tr> <td align=left> <tt>重命名的文件夾名稱:</tt> <input type=text name=newFoldName value="<%=UnicodeToChinese(request.getParameter("fold"))%>" maxlength="50" size="50"> </td> </tr> <tr> <td bgcolor=#cccccc align="center"> <tt>[ <a href="javascript:if (checkForm2()==false);">提交內容</a> ]</tt> <tt>[ <a href="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">返回目錄</a> ]<input type=hidden name="changeDo" value="false"></tt> </td> </tr> </tbody> </form> </table> <% }else if(strStat.equals("renameFile")) {%> <table width="90%" border="0" cellspacing="0" cellpadding="5"> <tr> <td><font size=+2><strong>重命名文件:</strong></font></td> </tr> </table> <table align=center cellpadding=5 cellspacing=0 width="90%"> <form name=dataForm3 action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&file=<%=UnicodeToChinese(reques t.getParameter("file"))%>&act=renameFileDo" method="post"> <tbody> <tr bgcolor=#cccccc> <td align=left><font size=+1><strong><font size="-1">你要重命名的文件</font></strong></font><font color=#000066 face=WingDings size=4>3</font><tt><%=(UnicodeToChinese(request.getParameter("path"))+UnicodeToChinese(request.getParameter("file")))%></tt>< /td> </tr> <tr> <td align=left> <tt>重命名的文件名稱:</tt> <input type=text name=newFileName value="<%=UnicodeToChinese(request.getParameter("file"))%>" maxlength="50" size="50"> </td> </tr> <tr> <td bgcolor=#cccccc align="center"> <tt>[ <a href="javascript:if (checkForm3()==false);">提交內容</a> ]</tt> <tt>[ <a href="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">返回目錄</a> ] <input type=hidden name="changeDo" value="false"> </tt> </td> </tr> </tbody> </form> </table> <% }else if(strStat.equals("uploadFile")){ %> <table width="90%" border="0" cellspacing="0" cellpadding="5"> <tr> <td><font size=+2><strong>上傳文件:</strong></font></td> </tr> </table> <table align=center cellpadding=5 cellspacing=0 width="90%"> <form name=dataForm4 action="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=uploadFileDo" method="post" ENCTYPE="multipart/form-data"> <tbody> <tr bgcolor=#cccccc> <td align=left><font size=+1><strong><font size="-1">你要上傳的文件在</font></strong></font><font color=#000066 face=WingDings size=4>0</font><tt><%=(UnicodeToChinese(request.getParameter("path")))%></tt><font size=+1><strong><font size="-1">下 </font></strong></font></td> </tr> <tr> <td align=left> <tt>選擇上傳的文件:</tt> <INPUT TYPE="FILE" NAME="fileName" SIZE="30"></td> </tr> <tr> <td bgcolor=#cccccc align="center"> <tt>[ <a href="javascript:if (checkForm4()==false);">提交內容</a> ]</tt> <tt>[ <a href="<%=request.getRequestURI()%>?path=<%=UnicodeToChinese(request.getParameter("path"))%>&act=show">返回目錄</a> ] </tt> </td> </tr> </tbody> </form> </table> <% } %> <br> <br> <hr> <TT>©版權所有:Joard·Ast 版本: 簡體中文1.00</TT> <br><TT>任何意見或建議請聯絡:<a href="mailto:ebony_mzb@hotmail.com"><font color=red>ebony_mzb@hotmail.com</font></a></TT> </div> </BODY></HTML> <SCRIPT LANGUAGE=javascript> <!-- <% //根據參數不同,顯示不同的檢測參數的函數 if(strStat.equals("login")) {%> function checkform() { var Checkblank = /^(\s*|(\ )|(\.))*$/; if (Checkblank.test(dataform.username.value)) { alert("登錄名不能為空!"); return false; } if (Checkblank.test(dataform.userpass.value)) { alert("密碼不能為空!"); return false; } window.dataform.submit();
} <%}else if(strStat.equals("createFold")) {%> function checkForm() { var Checkblank = /^(\s*|(\ )|(\.))*$/; if (Checkblank.test(dataForm.foldName.value)) { alert("新建文件夾名稱不能為空!"); dataForm.foldName.focus(); return false; } var SPECIAL_STR = "\\/:*?\"><|"; for(i=0;i<(dataForm.foldName.value).length;i++) { if (SPECIAL_STR.indexOf((dataForm.foldName.value).charAt(i)) !=-1) { alert("文件夾名稱不能含有如下字符\\/:*?\"><|"); dataForm.foldName.focus(); return false; } } window.dataForm.submit(); } <%}else if(strStat.equals("renameFold")) {%> function checkForm2() { var Checkblank = /^(\s*|(\ )|(\.))*$/; if (Checkblank.test(dataForm2.newFoldName.value)) { alert("重命名的文件夾名稱不能為空!"); dataForm2.newFoldName.focus(); return false; } var SPECIAL_STR = "\\/:*?\"><|"; for(i=0;i<(dataForm2.newFoldName.value).length;i++) { if (SPECIAL_STR.indexOf((dataForm2.newFoldName.value).charAt(i)) !=-1) { alert("文件夾名稱不能含有如下字符\\/:*?\"><|"); dataForm2.newFoldName.focus(); return false; } } //如果文件更名后和原文件名不同,則標示一個參數,表明確實有更名動作發生 if(dataForm2.newFoldName.value!="<%=UnicodeToChinese(request.getParameter("fold"))%>") { window.dataForm2.changeDo.value="true"; } else { alert("請輸入一個新的文件夾名稱!"); dataForm2.newFoldName.focus(); return false; } window.dataForm2.submit(); } <%}else if(strStat.equals("renameFile")) {%> function checkForm3() { var Checkblank = /^(\s*|(\ )|(\.))*$/; if (Checkblank.test(dataForm3.newFileName.value)) { alert("重命名的文件夾名稱不能為空!"); dataForm3.newFileName.focus(); return false; } var SPECIAL_STR = "\\/:*?\"><|"; for(i=0;i<(dataForm3.newFileName.value).length;i++) { if (SPECIAL_STR.indexOf((dataForm3.newFileName.value).charAt(i)) !=-1) { alert("文件名稱不能含有如下字符\\/:*?\"><|"); dataForm3.newFileName.focus(); return false; } } //如果文件更名后和原文件名不同,則標示一個參數,表明確實有更名動作發生 if(dataForm3.newFileName.value!="<%=UnicodeToChinese(request.getParameter("file"))%>") { window.dataForm3.changeDo.value="true"; } else { alert("請輸入一個新的文件名稱!"); dataForm3.newFileName.focus(); return false; } window.dataForm3.submit(); } <%}else if(strStat.equals("uploadFile")){%> function checkForm4() { var Checkblank = /^(\s*|(\ )|(\.))*$/; if (Checkblank.test(dataForm4.fileName.value)) { alert("重命名的文件夾名稱不能為空!"); dataForm4.fileName.focus(); return false; } window.dataForm4.submit(); } <%}%> //--> </SCRIPT>
|