`
andrii
  • 浏览: 62349 次
  • 性别: Icon_minigender_1
  • 来自: 地球
社区版块
存档分类
最新评论

Struts文件上传

阅读更多
java 代码
  1. package com.moreFileUpdate.form;   
  2.        
  3.     import java.util.ArrayList;   
  4.     import java.util.List;   
  5.        
  6.     import javax.servlet.http.HttpServletRequest;   
  7.        
  8.     import org.apache.struts.action.ActionErrors;   
  9.     import org.apache.struts.action.ActionForm;   
  10.     import org.apache.struts.action.ActionMapping;   
  11.        
  12.     import com.moreFileUpdate.data.UploadFile;   
  13.        
  14.     /**   
  15.      * MyEclipse Struts  
  16.      * Creation date: 10-28-2006  
  17.      *   
  18.      * XDoclet definition:  
  19.      * @struts.form name="moreFileUploadForm"  
  20.      */  
  21.     public class MoreFileUploadForm extends ActionForm {   
  22.        
  23.      // --------------------------------------------------------- Instance Variables   
  24.        
  25.      // --------------------------------------------------------- Methods   
  26.        
  27.      /**   
  28.      * Method validate  
  29.      * @param mapping  
  30.      * @param request  
  31.      * @return ActionErrors  
  32.      */  
  33.      public ActionErrors validate(   
  34.      ActionMapping mapping,   
  35.      HttpServletRequest request) {   
  36.        
  37.      // TODO Auto-generated method stub   
  38.      return null;   
  39.      }   
  40.        
  41.      /**   
  42.      * Method reset  
  43.      * @param mapping  
  44.      * @param request  
  45.      */  
  46.      public void reset(ActionMapping mapping, HttpServletRequest request) {   
  47.        
  48.      // TODO Auto-generated method stub   
  49.      }   
  50.      private List myFiles;    
  51.      public MoreFileUploadForm(){    
  52.      myFiles = new ArrayList();    
  53.      //为了能够在页面初始显示一个file    
  54.      myFiles.add(new UploadFile());    
  55.      }    
  56.      public List getMyFiles() {   
  57.      //System.out.println("get------>");   
  58.      return myFiles;   
  59.      }    
  60.        
  61.     //注意这个方法的定义    
  62.        
  63.      public UploadFile getUploadFile(int index){    
  64.      int size = myFiles.size();   
  65.      if(index>size){   
  66.      for(int i=size-1;i
  67.      myFiles.add(new UploadFile());    
  68.      }   
  69.      }   
  70.      //System.out.println("--------->"+size);   
  71.      else if(index>size-1){    
  72.      myFiles.add(new UploadFile());    
  73.      }    
  74.      // System.out.println("size----->"+myFiles.size());   
  75.      return (UploadFile)myFiles.get(index);    
  76.      }   
  77.      public void setMyFiles(List myFiles) {    
  78.      //System.out.println("set------->");   
  79.      this.myFiles = myFiles;    
  80.      }    
  81.     }   
  82.        
  83.     --------以下是action--------   
  84.     //Created by MyEclipse Struts   
  85.     // XSL source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_4.1.0/xslt/JavaClass.xsl   
  86.        
  87.     package com.moreFileUpdate.action;   
  88.        
  89.     import java.util.List;   
  90.        
  91.     import javax.servlet.http.HttpServletRequest;   
  92.     import javax.servlet.http.HttpServletResponse;   
  93.        
  94.     import org.apache.struts.action.Action;   
  95.     import org.apache.struts.action.ActionForm;   
  96.     import org.apache.struts.action.ActionForward;   
  97.     import org.apache.struts.action.ActionMapping;   
  98.     import org.apache.struts.upload.FormFile;   
  99.        
  100.     import com.moreFileUpdate.data.UploadFile;   
  101.     import com.moreFileUpdate.form.MoreFileUploadForm;   
  102.        
  103.     /**   
  104.      * MyEclipse Struts  
  105.      * Creation date: 10-28-2006  
  106.      *   
  107.      * XDoclet definition:  
  108.      * @struts.action path="/moreFileUpload" name="moreFileUploadForm" scope="request" validate="true"  
  109.      */  
  110.     public class MoreFileUploadAction extends Action {   
  111.        
  112.      // --------------------------------------------------------- Instance Variables   
  113.        
  114.      // --------------------------------------------------------- Methods   
  115.        
  116.      /**   
  117.      * Method execute  
  118.      * @param mapping  
  119.      * @param form  
  120.      * @param request  
  121.      * @param response  
  122.      * @return ActionForward  
  123.      */  
  124.      public ActionForward execute(   
  125.      ActionMapping mapping,   
  126.      ActionForm form,   
  127.      HttpServletRequest request,   
  128.      HttpServletResponse response) {   
  129.      MoreFileUploadForm moreFileUploadForm = (MoreFileUploadForm) form;   
  130.      List myFiles = moreFileUploadForm.getMyFiles();    
  131.      for(int i =0;i
  132.      UploadFile uploadFile = (UploadFile)myFiles.get(i);    
  133.      FormFile file = uploadFile.getFile();    
  134.        
  135.      if(file==null){    
  136.      System.out.println("file is null");    
  137.      }    
  138.      else{    
  139.        
  140.      //能运行到这里,就可以使用单个文件上传的方法进行上传了。循环而已    
  141.      System.out.println("filename:::" + file.getFileName());    
  142.      System.out.println("file size:::" + file.getFileSize());    
  143.      }    
  144.      }    
  145.        
  146.      return null;   
  147.      }   
  148.        
  149.     }   
  150.       

 

java 代码
  1. UploadFile.java如下:   
  2. ------------------------------   
  3. package com.moreFileUpdate.data;   
  4.   
  5. import org.apache.struts.upload.FormFile;   
  6.   
  7. public class UploadFile {   
  8.  private  FormFile  file;     
  9.      public  FormFile  getFile()  {     
  10.              System.out.println("run  in  uploadFile.getFile()");     
  11.              return  file;     
  12.      }     
  13.      public  void  setFile(FormFile  file)  {     
  14.      System.out.println("----------------------------");   
  15.              this.file  =  file;     
  16.      }     
  17.   
  18. }   
js 代码
  1. ------以下是jsp页面-------   
  2.        
  3.     <!---->   
  4.        
  5.     <!---->   
  6.     <!---->   
  7.     <!---->   
  8.     <!---->   
  9.     <!---->   
  10.     <!---->   
  11.        
  12.     <!---->"-//W3C//DTD HTML 4.01 Transitional//EN">   
  13.      <html:html>      </html:html>   
  14.         
  15.         
  16.         
  17.     <script language=< span="">"javascript" type="text/javascript">    
  18.      var num = 0;    
  19.      function addFile(){   
  20.      num++;   
  21.      var obj=document.getElementById("uploadFile");   
  22.      var innerHTML=obj.innerHTML;   
  23.      var insertHTML="
    <input type='file' name='uploadfile["< span="">+num+"].file'>";   
  24.      innerHTML=innerHTML+insertHTML;   
  25.      //alert(innerHTML);   
  26.      obj.innerHTML=innerHTML;   
  27.      }    
  28.      function upload(){    
  29.      moreFileUploadForm.submit();    
  30.      }    
  31.     </script>    
  32.     "#ffffff">    
  33.         
  34.     "1">    
  35.          
  36.     this is file    
  37.          
  38.          
  39.      "uploadFile">
  40.      
  41.      "button" name="btnAddFile" value="Add File" onclick="addFile()"/>    
  42.       "tdTarget">    
  43.      "button" name="btnUpload" value="upload" onclick="upload()">    
  44.         
  45.         
  46.     
  47.         
  48.     
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics