<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 0, comments - 77, trackbacks - 0, articles - 356
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    Struts實現動態(不定數量)多個文件上傳[轉載]

    Posted on 2007-04-27 14:52 semovy 閱讀(440) 評論(0)  編輯  收藏 所屬分類: struts

    主要代碼如下  
     
    Form部分:  
     
    public  class  MultiUploadForm  extends  ActionForm  {  
           private  List  myFiles;  
           public  MultiUploadForm(){  
                   myFiles  =  new  ArrayList();  
                   //為了能夠在頁面初始顯示一個file  
                   myFiles.add(new  UploadFile());  
           }  
           public  List  getMyFiles()  {  
                   return  myFiles;  
           }          
     
       //注意這個方法的定義  
     
         public  UploadFile  getUploadFile(int  index){  
                   int  size  =  myFiles.size();  
                   if(index>size-1){  
                           myFiles.add(new  UploadFile());  
                   }  
                   return  (UploadFile)myFiles.get(index);  
           }  
           public  void  setMyFiles(List  myFiles)  {  
                   this.myFiles  =  myFiles;  
           }  
    }  
     
    Dataset部分:  
    public  class  UploadFile  implements  Serializable  {  
           private  FormFile  file;  
           public  FormFile  getFile()  {  
                   System.out.println("run  in  uploadFile.getFile()");  
                   return  file;  
           }  
           public  void  setFile(FormFile  file)  {  
                   this.file  =  file;  
           }  
    }  
    Action部分:  
    public  class  MultiUploadAction  extends  Action  {  
           public  ActionForward  execute(ActionMapping  mapping,  ActionForm  form,  
                                                                     HttpServletRequest  request,  
                                                                     HttpServletResponse  response)  {  
                   MultiUploadForm  multiUploadForm  =  (MultiUploadForm)  form;  
                   List  myFiles  =  multiUploadForm.getMyFiles();  
                   for(int  i  =0;i<myFiles.size();i++){  
                           UploadFile  uploadFile  =  (UploadFile)myFiles.get(i);  
                           FormFile  file  =  uploadFile.getFile();  
     
                           if(file==null){  
                                   System.out.println("file  is  null");  
                           }  
                           else{  
     
                                   //能運行到這里,就可以使用單個文件上傳的方法進行上傳了。循環而已  
                                   System.out.println("filename:::"  +  file.getFileName());  
                                   System.out.println("file  size:::"  +  file.getFileSize());  
                           }  
                   }  
     
                   return  null;  
           }  
    }  
     
    JSP部分:  
     
    <%@ page contentType="text/html; charset=GBK" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-nested.tld" prefix="nested" %>

    <html:html>
    <head>
    <title>
    multiUploadDemo
    </title>
    </head>
    <script language="javascript" type="">
       var num = 0;
     
     function upload(){
         multiUploadForm.submit();
       }

    function additem(id)
    {
     var row,cell,str;
     row = eval("document.all["+'"'+id+'"'+"]").insertRow();
     if(row != null )
        {
           cell = row.insertCell();
           str="<input type="+'"'+"file"+'"'+" name=uploadFile["+ num +"].file><input type="+'"'+"button"+'"'+" value="+'"'+"刪除"+'"'+" onclick='deleteitem(this,"+'"'+"tb"+'"'+");'>"
          cell.innerHTML=str;
        }
     num++;
    }
    function deleteitem(obj,id)
    {
     var rowNum,curRow;
     curRow = obj.parentNode.parentNode;
     rowNum = eval("document.all."+id).rows.length - 1;
     eval("document.all["+'"'+id+'"'+"]").deleteRow(curRow.rowIndex);
    }

    </script>
    <body bgcolor="#ffffff">
    <html:form method="post" action="/multiUploadAction.do" enctype="multipart/form-data">

    <table id="tb">
    </table>

    </html:form>
    <input type="button" name="btnAddFile" value="Add File" onclick="additem('tb')"/>
    <input type="button" name="btnUpload" value="upload" onclick="upload()"/>
    </body>
    </html:html> 
     struts-config.xml部分:  
     
       <form-beans>  
           <form-bean  name="multiUploadForm"  type="MultiUploadForm"  />  
       </form-beans>  
     
    <action  name="multiUploadForm"  path="/multiUploadAction"  type="MultiUploadAction"  />  
     
    以上只是對動態多文件上傳部分進行了描述,只是一個Demo。大家可以根據自己的需求變通的調整一下。  

    主站蜘蛛池模板: 69式互添免费视频| 国产自国产自愉自愉免费24区| 日韩精品在线免费观看| 国内精品99亚洲免费高清| 国产青草亚洲香蕉精品久久| 情侣视频精品免费的国产| 青草久久精品亚洲综合专区| 在线jlzzjlzz免费播放| 亚洲av永久无码精品秋霞电影秋 | 国国内清清草原免费视频99| 亚洲色图综合网站| 亚洲精品视频免费看| 亚洲va在线va天堂va手机| 久久不见久久见中文字幕免费 | 四虎永久精品免费观看| 免费无遮挡无码视频在线观看| 亚洲成AV人在线观看网址| 中文字幕久无码免费久久| 亚洲AV无码精品色午夜在线观看| 无码国产精品一区二区免费vr| 亚洲欧洲日产韩国在线| 精品久久洲久久久久护士免费 | 国产精品久久亚洲一区二区| 亚洲精品国产成人影院| 久久精品成人免费国产片小草| 亚洲日韩小电影在线观看| 69视频免费观看l| 亚洲中文字幕久久无码| 男女啪啪永久免费观看网站| 一级毛片a女人刺激视频免费| 国产亚洲一区二区三区在线观看 | 免费黄网在线观看| 一个人看的www免费在线视频| 亚洲视频精品在线| 日韩成人免费在线| 美女视频黄的免费视频网页| 在线a亚洲老鸭窝天堂av高清| 亚洲精品一级无码鲁丝片| 亚洲免费在线视频播放| 边摸边吃奶边做爽免费视频99| 亚洲精品高清国产一久久|