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

<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. (转载)AS3中的mouseEnabled与mouseChildren

    (转载)http://www.cnblogs.com/gongchen/archive/2013/05/09/3069055.html mouseEnabled与mouseChildren都是用来确定 ...

  2. HDU 5952 Counting Cliques 【DFS+剪枝】 (2016ACM/ICPC亚洲区沈阳站)

    Counting Cliques Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  3. 今天遇到的mouseout和mouseleave之坑

    时间紧  简短的说就是: mouseout是离开其子元素也会触发 mouseleave是离开指定的那个元素才触发

  4. bzoj 1493: [NOI2007]项链工厂(线段树)

    1493: [NOI2007]项链工厂 Time Limit: 30 Sec  Memory Limit: 64 MBSubmit: 1256  Solved: 545[Submit][Status] ...

  5. hdu 4790 Just Random (2013成都J题) 数学思路题 容斥

    题意:在[a,b]  [c,d] 之间,和模p等于m的对数 详见代码 #include <stdio.h> #include <algorithm> #include < ...

  6. MyEclipe 配置 ivy 插件

    在 MyEclipse 装插件绝对不是技术的问题.只要你有足够的耐心和时间. 经过两次试验,在 MyEclipse 配置插件大概流程如下. 配置ivy:   1.打开配置中心     2.选择[Sof ...

  7. 转载:Python中的new style class机制实现

    1.Python中的对象模型python中所有东西都是对象 class对象:表示Python内置的类型和定义的类型instance对象(实例对象):表示由class对象创建的实例 1.1 对象间的关系 ...

  8. Android之ContextMenu的使用方法以及与OptionMenu的区别

    >> ContextMenu是android的context menu上下文菜单,选择某项VIEW后长按menu键,就会显示出来.比如EditeText就可以通过长按来弹出拥有“cut”, ...

  9. C#.net 创建XML

    方法一:按照XML的结构一步一步的构建XML文档.    通过.Net FrameWork SDK中的命名空间"System.Xml"中封装的各种类来实现的 方法二:直接定影XML ...

  10. typeof和instanceof 运算符

    instanceof运算符与typeof运算符相似,用于识别正在处理的对象的类型,但是在使用 typeof 运算符时采用引用类型存储值会出现一个问题. 无论引用的是什么类型的对象,它都返回 " ...