博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts1文件上传、单文件、多文件上传【Struts1】
阅读量:5964 次
发布时间:2019-06-19

本文共 4634 字,大约阅读时间需要 15 分钟。

 将struts1文件上传的操作汇总了一下,包括单文件上传和多文件上传,内容如下,留作备忘:

 Struts2实现文件上传的文章()

1、单文件上传

1)JSP页面(singleFileUpload.jsp)

<%@page pageEncoding = "UTF-8"%>

文件上传


name:
upload:

 

操作点:enctype="multipart/form-data"

2)Form(UploadForm)

package fileUpload.singleFileUpload.form;import org.apache.struts.action.ActionForm;import org.apache.struts.upload.FormFile;public class UploadForm extends ActionForm {	private static final long serialVersionUID = 1L;	private String name;		private FormFile file;	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public FormFile getFile() {		return file;	}	public void setFile(FormFile file) {		this.file = file;	}}

 操作点:Struts1提供了一个FormFile类来处理文件上传操作,另外注意,属性name,file名字必须与jsp页面一致,否则会报空指针。

3)Action(UploadAction)

package fileUpload.singleFileUpload.action;import java.io.FileOutputStream;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.upload.FormFile;import fileUpload.singleFileUpload.form.UploadForm;public class UploadAction extends Action {// @Overridepublic ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {   UploadForm uf = (UploadForm)form;   String name = uf.getName();   FormFile file = uf.getFile();   System.out.println("name=" + name);   String filename = file.getFileName();   System.out.println("fileName=" + filename);     FileOutputStream fos = new FileOutputStream("d:\\["+name+"]" + filename); //创建输出流   fos.write(file.getFileData()); //写入   fos.flush();//释放   fos.close(); //关闭   return mapping.findForward("success"); }}

 操作点:FormFile类的方法

4)Struts配置文件(struts-config.xml)

 

 

 操作点:controller maxFileSize用来配置上传文件的大小,可根据实际情况配置,设置成-1则表示无限制。其位置必须放在</action-mappings>和<message-resources>之间

 

2、多文件上传

1)JSP页面(mutityFileUpload.jsp)(从网上获得的代码,可增可减,不错)

<%@ page pageEncoding="utf-8"%><%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>			上传任意多个文件(总大小不能超过2M)						
<%-- 在此处插入用于上传文件的input元素 --%>   

<%-- 在此处用DOM技术插入上传文件列表项 --%>

 2)Form(UploadMoreForm)

package fileUpload.mutityFileUpload.form;import java.util.ArrayList;import java.util.List;import org.apache.struts.action.ActionForm;import org.apache.struts.upload.FormFile;public class UploadMoreForm extends ActionForm{	private static final long serialVersionUID = 1L;	private List
myFiles = new ArrayList
(); // 用于保存不定数量的FormFile对象 public FormFile getFile(int i) // 索引属性 { return myFiles.get(i); } public void setFile(int i, FormFile myFile) // 索引属性 { if (myFile.getFileSize() > 0) // 只有上传文件的字节数大于0,才上传这个文件 { myFiles.add(myFile); } } public int getFileCount() // 获得上传文件的个数 { return myFiles.size(); }}

 3)Action(UploadMoreAction)

package fileUpload.mutityFileUpload.action;import java.io.FileOutputStream;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.upload.FormFile;import fileUpload.mutityFileUpload.form.UploadMoreForm;public class UploadMoreAction extends Action {		public ActionForward execute(ActionMapping mapping, ActionForm form,            HttpServletRequest request, HttpServletResponse response)    {        UploadMoreForm umForm = (UploadMoreForm) form;        int count = 0;        try        {            count = umForm.getFileCount();   // 获得上传文件的总数            for (int i = 0; i < count; i++)            {            	FormFile file = umForm.getFile(i);             	System.out.println(file.getFileName());            	FileOutputStream fos = new FileOutputStream("d:\\" + file.getFileName()); //创建输出流           	 	fos.write(file.getFileData()); //写入                fos.flush();//释放           	 	fos.close(); //关闭            	            }        }        catch (Exception e)        {        	e.printStackTrace();        }        return null;    }}

 4)Struts配置文件(struts-config.xml)

 

 

 

转载于:https://www.cnblogs.com/caroline4lc/p/4211529.html

你可能感兴趣的文章
java实现双向循环链表
查看>>
如何使用缓存提高程序性能
查看>>
【trie树】HDU4825 Xor Sum
查看>>
SCCM TP4部署Office2013
查看>>
Linux系统启动过程,grub重装。
查看>>
使用Putty密钥认证机制远程登录Linux
查看>>
一不小心,老司机又翻车了
查看>>
理解思科IPS系统的traffic flow notifications
查看>>
【博客话题】技术人生之三界修炼
查看>>
Ext JS 6开发实例(三) :主界面设计
查看>>
Hyper-V 3中虚拟机CPU竞争机制
查看>>
【原创】Oracle RAC原理和安装
查看>>
东哥读书小记 之 《MacTalk人生元编程》
查看>>
《随机出题软件》&《随机分队软件》源码(Windows API)
查看>>
python 文件及文件夹操作
查看>>
Android自定义ListView的Item无法响应OnItemClick的解决办法
查看>>
Building Apps for Windows Phone 8.1教程下载地址整理
查看>>
移动Web—CSS为Retina屏幕替换更高质量的图片
查看>>
[Linux 性能检测工具]SAR
查看>>
JS 运行、复制、另存为 代码。
查看>>