第一步:首先创建一个多文件上传的页面

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>多文件上传</title>
</head>
<body>
<h1>多文件上传</h1> <br><br>
<form action="/Struts2-day02pm/upload/multi_upload.action" method="post" enctype="multipart/form-data">
文件上传2:<br><br>
<input type="file" name="oneFiles"><br><br>
<input type="file" name="oneFiles"><br><br>
<input type="file" name="oneFiles"><br><br>
<input type="submit" value="开始多文件上传">
</form>
</body>

第二步:创建多文件上传的请求处理类MultiUploadAction继承BaseAction(BaseAction代码见单文件上传)

public class MultiUploadAction extends BaseAction {

    private static final long serialVersionUID = -4445894434193884175L;

    private File[] oneFiles;
private String[] oneFilesFileName;
private String[] oneFilesContentType; private HttpServletRequest request; @Override
public void setServletRequest(HttpServletRequest request) {
this.request = request;
} @Override
public String execute() throws Exception {
String uploadPath = request.getServletContext().getRealPath("upload"); for (int i = 0; i < oneFiles.length; i++) { File file = new File(uploadPath, oneFilesFileName[i]);//拼接文件的存放路径和存放文件的真实名称
FileUtils.copyFile(oneFiles[i], file);//将临时文件复制到上面这个路径
}
return SUCCESS;
} public File[] getOneFiles() {
return oneFiles;
}
public void setOneFiles(File[] oneFiles) {
this.oneFiles = oneFiles;
}
public String[] getOneFilesFileName() {
return oneFilesFileName;
}
public void setOneFilesFileName(String[] oneFilesFileName) {
this.oneFilesFileName = oneFilesFileName;
}
public String[] getOneFilesContentType() {
return oneFilesContentType;
}
public void setOneFilesContentType(String[] oneFilesContentType) {
this.oneFilesContentType = oneFilesContentType;
}
public HttpServletRequest getRequest() {
return request;
}
public void setRequest(HttpServletRequest request) {
this.request = request;
}
}

第三步:配置struts.xml配置文件

<struts>

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

        <action name="multi_upload" class="com.struts2.day02pm.action.MultiUploadAction">
<result>/WEB-INF/jsp/multi_upload_ok.jsp</result>
</action>
</package> </struts>

第四步:前台页面测试上传文件

Struts2多文件上传的更多相关文章

  1. struts2的文件上传

    在做B/S系统时,通常会涉及到上传文件和下载文件,在没接struts2框架之前,我们都是使用apache下面的commons子项目的FileUpload组件来进行文件的上传,但是那样做的话,代码看起来 ...

  2. jsp\struts1.2\struts2 中文件上传(转)

    jsp\struts1.2\struts2 中文件上传 a.在jsp中简单利用Commons-fileupload组件实现 b.在struts1.2中实现c.在sturts2中实现现在把Code与大家 ...

  3. Struts2+Uploadify文件上传使用详解

    Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.不过官方提供的实例是php版本的,本文将详细介绍Uploadify在java中的使用,您也可以点击下面的链接进行演示或下 ...

  4. Struts2 多文件上传

    Struts2多文件上传只需要将 单文件上传中的File变成File[]  即可,上篇文章:单文件上传 <form action="${pageContext.request.cont ...

  5. Struts2图片文件上传,判断图片格式和图片大小

    1. 配置Struts2能够上传的最大文件大小 使用Struts2进行文件上传的时候,Struts2默认文件大小最大为2MB,如果要传大一点的文件,就需要修改struts.xml配置文件,重新设置能够 ...

  6. Struts2实现文件上传下载功能(批量上传)

    今天来发布一个使用Struts2上传下载的项目, struts2为文件上传下载提供了好的实现机制, 首先,可以先看一下我的项目截图 关于需要使用的jar包,需要用到commons-fileupload ...

  7. Struts2实现文件上传(四)

    Struts2实现文件上传 配置文件struts.xml <!-- /* * $Id: struts.xml 1364077 2012-07-21 12:57:02Z lukaszlenart ...

  8. Struts2实现文件上传(三)

    Struts2实现文件上传 配置文件web.xml <?xml version="1.0" encoding="UTF-8"?> <web-a ...

  9. Struts2实现文件上传(二)

    Struts2实现文件上传 文件上传页面 file.jsp: <%@ page language="java" import="java.util.*" ...

  10. Struts2实现文件上传(一)

    Struts2实现文件上传 文件上传成功后结果页面 result.jsp: <%@ page language="java" import="java.util.* ...

随机推荐

  1. ashx文件的使用

    转自:http://www.cnblogs.com/Tally/archive/2013/02/19/2916499.html ashx是什么文件 .ashx 文件用于写web handler的..a ...

  2. [转]IIS上部署网站

    如何在IIS6,7中部署ASP.NET网站 阅读目录 开始 查看web.config文件 在IIS中创建网站 IIS6 添加扩展名映射 IIS6 无扩展名的映射 目录的写入权限 SQL SERVER的 ...

  3. ARM学习笔记4——加载存储指令

    一.字数据传送指令 作用:用于把单一的数据传入或者传出一个寄存器. 1.LDR指令 1.1.作用 根据<addr_mode>所确定的地址模式从内存中将一个32位的字段读取到目标寄存器< ...

  4. 使用Block来进行页面间的传值

    Block语法 定义Block //定义类型 typedef void (^ReceiveMessageBlock)(NSString *); //申明变量 ReceiveMessageBlock t ...

  5. OpenCL memory object 之 Global memory (1)

    本文转载自:http://www.cnblogs.com/mikewolf2002/archive/2011/12/17/2291239.html 这篇日志是学习AMD OpenCL文档时候的总结. ...

  6. 缓存算法–LRU

    LRU LRU是Least Recently Used 的缩写,翻译过来就是“最近最少使用”,也就是说,LRU缓存把最近最少使用的数据移除,让给最新读取的数据.而往往最常读取的,也是读取次数最多的,所 ...

  7. InetAddress Example program in Java

    The InetAddress class has no visible constructors. To create an InetAddress object, you have to use ...

  8. linux中shell如何输出换行符

    echo -e "a\tb\tc\nd\te\tf" 加-e

  9. oc学习之路----内存管理

    直接上图啊.

  10. 1629 B君的圆锥

    #include <iostream> #include <queue> #include <stack> #include <cstdio> #inc ...