Ajax File Upload - For Struts 2

本文介绍如何在Struts2框架中使用AJAX文件上传插件实现文件上传功能。包括所需依赖库的添加、JSP页面配置及Struts.xml配置等步骤,并提供了扩展Action的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是文章出处:http://www.davidjc.com/ajaxfileupload/demo!input.action

另外可参考这篇文章:http://www.struts2.org/ajax-file-upload-in-struts2-using-ajax-file-upload-plugin/

在http://ajax-file-upload-struts2.googlecode.com/files/AjaxFileUpload-0.03.zip 下载包文件

把jar文件加入到 WEB-INF/lib下面,在pom.xml中加入:

Xml代码 复制代码
  1. <dependency>
  2. <groupId>commons-fileupload</groupId>
  3. <artifactId>commons-fileupload</artifactId>
  4. <version>1.2</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>commons-io</groupId>
  8. <artifactId>commons-io</artifactId>
  9. <version>1.3.1</version>
  10. </dependency>
  11. <dependency>
  12. <groupId>net.sf.json-lib</groupId>
  13. <artifactId>json-lib</artifactId>
  14. <version>2.0</version>
  15. <classifier>jdk15</classifier>
  16. </dependency>
<dependency>
	<groupId>commons-fileupload</groupId>
	<artifactId>commons-fileupload</artifactId>
	<version>1.2</version>
</dependency>
<dependency>
	<groupId>commons-io</groupId>
	<artifactId>commons-io</artifactId>
	<version>1.3.1</version>
</dependency>
<dependency>
	<groupId>net.sf.json-lib</groupId>
	<artifactId>json-lib</artifactId>
	<version>2.0</version>
	<classifier>jdk15</classifier>
</dependency>

在所在的jsp页面如下写法:

Html代码 复制代码
  1. <%@tagliburi="http://www.davidjc.com/taglibs"prefix="djc"%>
  2. <head>
  3. ...
  4. <djc:head/>
  5. ...
  6. </head>
  7. <body>
  8. ...
  9. <djc:ajaxfileuploadformaction="demo"dobefore=""doafter=""/>
  10. ...
  11. </body>
<%@ taglib uri="http://www.davidjc.com/taglibs"     prefix="djc"     %>
<head>
	...
	<djc:head />
	...
</head>
<body>
	...
	<djc:ajaxfileuploadform action="demo" dobefore="" doafter="" />
	...
</body>

配置struts.xml文件:

Xml代码 复制代码
  1. <packagename="ajaxfileupload"namespace="/"extends="ajaxfileupload-default">
  2. <actionname="demo"class="com.davidjc.ajaxfileupload.action.Demo">
  3. <interceptor-refname="fileUploadStack"/>
  4. <resultname="success"type="httpheader">
  5. <paramname="status">200</param>
  6. </result>
  7. </action>
  8. </package>
<package name="ajaxfileupload" namespace="/" extends="ajaxfileupload-default">
	<action name="demo" class="com.davidjc.ajaxfileupload.action.Demo">
		<interceptor-ref name="fileUploadStack" /> 
		
		<result name="success" type="httpheader">
			<param name="status">200</param>
		</result>
	</action>
</package>

扩展 action com.davidjc.ajaxfileupload.action.FileUpload

Java代码 复制代码
  1. packagecom.davidjc.ajaxfileupload.action;
  2. importjava.io.File;
  3. importorg.apache.log4j.Logger;
  4. importcom.opensymphony.xwork2.Action;
  5. publicclassDemoextendsFileUpload{
  6. privatefinalLoggerlogger=Logger.getLogger(Demo.class);
  7. publicStringexecute(){
  8. FileuploadedFile=this.getUpload();
  9. StringcontentType=this.getUploadContentType();
  10. StringfileName=this.getUploadFileName();
  11. returnAction.SUCCESS;
  12. }
  13. }

引用自:http://bluelzx.javaeye.com/blog/195301

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值