Struts2实现多文件上传功能

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

成都创新互联公司是一家专注于网站建设、成都做网站与策划设计,和田县网站建设哪家好?成都创新互联公司做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:和田县等地区。和田县做网站价格咨询:18980820575

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://scyanting.com/article/pchodo.html