struts2文件上传与多文件上传

本文介绍如何使用Struts2框架实现多文件上传功能,包括前端页面设计、后端Action处理逻辑及struts.xml配置。通过示例代码详细解释了多文件上传的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

Struts2文件上传和多文件的上传

第一步:首先先写界面

</head>

        <div>

           <form action="upFiles.action" enctype="multipart/form-data" method="post"/>

           <div id="adds">

           上传文件:<input type="file" name="upload"/></br>

           </div>

           <input type="submit" value="上传"/>

           <input type="button" value="添加" id="but">

          

          

           </form>

       

        </div>

  <body>

  

  </body>

</html>

<script type="text/javascript">

<!--

$(document).ready(function(){

    $("#but").click(function (){

       var $add=$("<input type='file' name='upload'/></br>")

       var $text=$("<p>上传文件<p>");

       $("#adds").append($text);

       $("#adds").append($add);

   

    });

});

 

//-->

</script>

第二步

在Action类中添加以下属性

package cn.csdn.hr.action.uplaod;

 

import java.io.File;

import java.io.IOException;

import java.util.List;

 

import org.apache.commons.io.FileUtils;

import org.apache.struts2.ServletActionContext;

 

import com.opensymphony.xwork2.ActionSupport;

import com.sun.net.httpserver.Authenticator.Success;

 

 

 

public class UploadListActions extends ActionSupport{

         //规定

         //文件内容

         private List<File> upload;

         //类

         private List<String> uploadContentType;

         //文件名称

         private List<String> uploadFileName;

         public List<File> getUpload() {

                   return upload;

         }

 

 

         public void setUpload(List<File> upload) {

                   this.upload = upload;

         }

 

 

         public List<String> getUploadContentType() {

                   return uploadContentType;

         }

 

 

         public void setUploadContentType(List<String> uploadContentType) {

                   this.uploadContentType = uploadContentType;

         }

 

 

         public List<String> getUploadFileName() {

                   return uploadFileName;

         }

 

 

         public void setUploadFileName(List<String> uploadFileName) {

                   this.uploadFileName = uploadFileName;

         }

 

        

        

         public String uploads(){

                  

                   String path =ServletActionContext.getServletContext().getRealPath("/im");

                   File file=new File(path);

                   if(!file.exists()){

                            file.mkdirs();

                           

                   }

 

                            try {

                                     for(int i=0;i<upload.size();i++){

                                              

                                               FileUtils.copyFile(upload.get(i), new File(file,uploadFileName.get(i)));

                                              

                                     }

                                              

                                              

                                              

                                              

                                    

                            } catch (IOException e) {

                                     // TODO Auto-generated catch block

                                     e.printStackTrace();

                            }

                  

                  

                   System.out.println("文件上传的名称"+getUploadFileName()+"上传的类型"+getUploadContentType());

                   return SUCCESS;

                  

                  

         }

 

 

        

}

第三步:struts.xml中添加配置

<package name="text" extends="struts-default" namespace="/">

   

   

    <action name="upFile" class="cn.csdn.hr.action.uplaod.UploadAction" method="upload">

    <result>./MyJsp.jsp</result>

   

    </action>

    <!--

   

     -->

     

     <action name="upFiles" class="cn.csdn.hr.action.uplaod.UploadListActions" method="uploads">

    <result>./MyJsp.jsp</result>

   

    </action>

     

    </package>

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值