struts2实现多文件上传

本文实例为大家分享了struts2实现多文件上传的具体代码,供大家参考,具体内容如下

我们提供的服务有:网站设计、成都网站建设、微信公众号开发、网站优化、网站认证、屯昌ssl等。为上1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的屯昌网站制作公司

首先搭建好struts2的开发环境,导入struts2需要的最少jar包

struts2实现多文件上传

新建upload.jsp页面,注意一定要把表单的enctype设置成multipart/form-data

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>


 
 My JSP 'upload.jsp' starting page
 
 
 
  
 
 
 
 
 
  file:
  fileDesc:
  

file: fileDesc:

file: fileDesc:

新建一个UploadAction类,这个类主要有三个属性,并为这三个属性生成对应的set get方法

  • [File Name] : 保存要上传的文件
  • [File Name]ContentType : 保存要上传的文件类型
  • [File Name]FileName :保存上传的文件名
package cn.lfd.web.upload;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
/*
 * 多文件上传要把对应的属性类型都改为List集合,struts自动会把多个文件的数据封装到里面
 */
public class UploadAction extends ActionSupport {
 private static final long serialVersionUID = 1L;
 private List file;
 private List fileContentType;
 private List fileFileName;
 private List fileDesc;
 
 public List getFile() {
 return file;
 }
 
 public void setFile(List file) {
 this.file = file;
 }
 
 public List getFileContentType() {
 return fileContentType;
 }
 
 public void setFileContentType(List fileContentType) {
 this.fileContentType = fileContentType;
 }
 
 public List getFileFileName() {
 return fileFileName;
 }
 
 public void setFileFileName(List fileFileName) {
 this.fileFileName = fileFileName;
 }
 
 public List getFileDesc() {
 return fileDesc;
 }
 
 public void setFileDesc(List fileDesc) {
 this.fileDesc = fileDesc;
 }
 
 @Override
 public String execute() throws Exception {
 //遍历文件集合,通过IO流把每一个上传的文件保存到upload文件夹下面
 for(int i=0;i

然后在struts.xml配置文件中配置一下

<?xml version="1.0" encoding="UTF-8" ?>

 

 
 
 
 
 
  200000
  text/html,text/xml
  txt,html,xml
 
 
 
 
 
 /success.jsp
 /upload.jsp
 
 

在src目录下新建一个message.properties文件定制错误消息

  • struts.messages.error.uploading - 文件不能被上传
  • struts.messages.error.file.too.large - 文件超出大小
  • struts.messages.error.content.type.not.allowed - 文件类型不合法
  • struts.messages.error.file.extension.not.allowed - 文件扩展名不合法

struts2实现多文件上传

显示效果如下图:

struts2实现多文件上传

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


网页名称:struts2实现多文件上传
网站网址:http://ybzwz.com/article/jspspj.html