WEB开发网
开发学院WEB开发Jsp 在Struts 2中实现文件上传 阅读

在Struts 2中实现文件上传

 2008-01-05 20:29:46 来源:WEB开发网   
核心提示: Struts 2是通过Commons FileUpload文件上传,Commons FileUpload通过将HTTP的数据保存到临时文件夹,在Struts 2中实现文件上传,然后Struts使用fileUpload拦截器将文件绑定到Action的实例中,从而我们就能够以本地文件方式的操作浏览器上传的文件,这并没有什

Struts 2是通过Commons FileUpload文件上传。Commons FileUpload通过将HTTP的数据保存到临时文件夹,然后Struts使用fileUpload拦截器将文件绑定到Action的实例中。从而我们就能够以本地文件方式的操作浏览器上传的文件。
                                            
具体实现

   前段时间Apache发布了Struts 2.0.6 GA,所以本文的实现是以该版本的Struts作为框架的。以下是例子所依靠类包的列表:
清单1 依靠类包的列表

首先,创建文件上传页面FileUpload.jsp,内容如下:
<% @ page language = " java " contentType = " text/Html; charset=utf-8 " pageEncoding = " utf-8 " %>
<% @ taglib PRefix = " s " uri = " /struts-tags " %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head >
   < title > Struts 2 File Upload </ title >
</ head >
< body >
   < s:form action ="fileUpload" method ="POST" enctype ="multipart/form-data" >
     < s:file name ="myFile" label ="Image File" />
     < s:textfield name ="caption" label ="Caption" />    
     < s:submit />
   </ s:form >
</ body >
</ html >

清单2 FileUpload.jsp
在FileUpload.jsp中,先将表单的提交方式设为POST,然后将enctype设为multipart/form-data,这并没有什么非凡之处。接下来,<s:file/>标志将文件上传控件绑定到Action的myFile属性。

其次是FileUploadAction.java代码:

 package tutorial;

 import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.util.Date;

 import org.apache.struts2.ServletActionContext;

 import com.opensymphony.xwork2.ActionSupport;

 public class FileUploadAction extends ActionSupport  {

Tags:Struts 实现 文件

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接