上传页面: <% ... @ page language="java" contentType="text/html; charset=GBK" %> <% ... @taglib prefix="s" uri="/struts-tags" %> <% ... @ page isELIgnored="false" %> <% ... @ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> < head > < meta http-equiv ="Content-Type" content ="text/html; charset=GBK" /> < title ></ title > </ head > < body > < s:fielderror /> < form action ="upload.action" method ="post" enctype ="multipart/form-data" > < input type ="text" name ="title" />< br > < input type ="file" name ="upload" />< br > < input type ="file" name ="upload" />< br > < input type ="file" name ="upload" />< br > < input value ="upload" type ="submit" /> </ form > </ body > </ html > 上传Action package lee; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionContext; import org.apache.struts2.ServletActionContext; import java.io. * ; import com.opensymphony.xwork2.ActionSupport; /** */ /** * @author yeeku.H.lee kongyeeku@163.com * @version 1.0 * <br>Copyright (C), 2005-2008, yeeku.H.Lee * <br>This program is protected by copyright laws. * <br>Program Name: * <br>Date: */ public class UploadAction extends ActionSupport ... { private String title; private File[] upload; private String[] uploadContentType; private String[] uploadFileName; //接受依赖注入的属性 private String savePath; //接受依赖注入的方法 public void setSavePath(String value) ...{ this.savePath = value; } private String getSavePath() throws Exception ...{ return ServletActionContext.getRequest().getRealPath(savePath); } public void setTitle(String title) ...{ this.title = title; } public File[] getUpload() ...{ return upload; } public void setUpload(File[] upload) ...{ this.upload = upload; } public String[] getUploadContentType() ...{ return uploadContentType; } public void setUploadContentType(String[] uploadContentType) ...{ this.uploadContentType = uploadContentType; } public String[] getUploadFileName() ...{ return uploadFileName; } public void setUploadFileName(String[] uploadFileName) ...{ this.uploadFileName = uploadFileName; } public String getTitle() ...{ return title; } @Override public String execute() throws Exception ...{ System.out.println("开始上传单个文件-----------------------"); System.out.println(getSavePath()); System.out.println("==========" + getUploadFileName()); System.out.println("==========" + getUploadContentType()); System.out.println("==========" + getUpload()); File[] files=this.getUpload(); for(int i=0;i<files.length;i++)...{ //以服务器的文件保存地址和原文件名建立上传文件输出流 FileOutputStream fos = new FileOutputStream(getSavePath() + "/" + getUploadFileName()[i]); FileInputStream fis = new FileInputStream(files[i]); byte[] buffer = new byte[1024]; int len = 0; while ((len = fis.read(buffer)) > 0) ...{ fos.write(buffer , 0 , len); } } return SUCCESS; } } struts.xml <? xml version="1.0" encoding="UTF-8" ?> <! DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" > < struts > < constant name ="struts.custom.i18n.resources" value ="globalMessages" /> < constant name ="struts.i18n.encoding" value ="GBK" /> < package name ="lee" extends ="struts-default" > < action name ="upload" class ="lee.UploadAction" > < interceptor-ref name ="fileUpload" > < param name ="allowedTypes" > image/bmp,image/png,image/gif,image/jpeg,image/jpg </ param > < param name ="maximumSize" > 2000 </ param > </ interceptor-ref > < interceptor-ref name ="defaultStack" /> < param name ="savePath" > /upload </ param > < result > /succ.jsp </ result > < result name ="input" > /upload.jsp </ result > </ action > </ package > </ struts > 结果显示页面: <% ... @ page language="java" contentType="text/html; charset=GBK" %> <% ... @taglib prefix="s" uri="/struts-tags" %> < html > < head > < title > 上传成功 </ title > </ head > < body > 上传成功! < br > 文件标题: < s:property value =" + title" />< br > 文件为: < img src ="<s:property value=" 'upload/' + uploadFileName[0]" /> "/> < br > 文件为: < img src ="<s:property value=" 'upload/' + uploadFileName[1]" /> "/> < br > 文件为: < img src ="<s:property value=" 'upload/' + uploadFileName[2]" /> "/> < br > </ body > </ html >