Struts2实现多文件上传功能-创新互联

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、虚拟空间、营销软件、网站建设、措美网站维护、网站推广。

前台form 表单:设置method=post,enctype=multipart/form-data。

struts2在原有的上传解析器继承上做了进一步封装,更进一步简化了文件上传。

Action需要使用3个属性来封装该文件域的信息:

(1)类型为File的*属性封装了该文件域对应的文件内容;
(2)类型为String的***FileName属性封装了该文件域对应的文件的文件类型;
(3)类型为String的***ContentType属性封装了该文件域对应的文件的类型。

具体实现:

新建web项目

Struts2实现多文件上传功能

添加struts2相关包
myeclipse可直接下载,右击项目,如下。

Struts2实现多文件上传功能

前台

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

 
  
    
    

  
 

配置web.xml



 UploadFile
 
  struts2
  org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
 
 
  struts2
  *.action
 

配置struts.xml




  
  
  
  

  
    
    /index.jsp
    
    
  

后台代码

public class UploadAction extends ActionSupport{
  private List upload;
  private List uploadContentType;
  private List uploadFileName;

  public List getUpload() {
    return upload;
  }

  public void setUpload(List upload) {
    this.upload = upload;
  }

  public List getUploadContentType() {
    return uploadContentType;
  }

  public void setUploadContentType(List uploadContentType) {
    this.uploadContentType = uploadContentType;
  }

  public List getUploadFileName() {
    return uploadFileName;
  }

  public void setUploadFileName(List uploadFileName) {
    this.uploadFileName = uploadFileName;
  }

  @Override
  public String execute() throws Exception {
    //文件保存路径
    String path = ServletActionContext.getServletContext().getRealPath("/images");
    File file = new File(path);
    //不存在则创建
    if(!file.exists()){
      file.mkdir();
    }
    //循环将文件上传到指定路径
    for(int i = 0; i< upload.size(); i++){
      FileUtils.copyFile(upload.get(i), new File(file,uploadFileName.get(i)));
    }
    return SUCCESS;
  }

结果如下

Struts2实现多文件上传功能

Struts2实现多文件上传功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。


文章标题:Struts2实现多文件上传功能-创新互联
文章路径:http://scjbc.cn/article/ddsgji.html

其他资讯