`
xitong
  • 浏览: 6157743 次
文章分类
社区版块
存档分类
最新评论

webwork中文件上传实现

 
阅读更多
step1:
页面定义如下
<form action="upload.do" enctype="multipart/form-data" method="post">
<input type="file" name="doc"/>
......................... 省略
</form>

step2
action 如下
public class UploadAction extends ActionSupport {
.....................................
private File doc;//doc与页面取一样的名字

public void setDoc(File doc) {
this.doc = doc;
}

//当然还可以使用以下的咚咚
/*
* public void setDocContentType(String docContentType) {
* this.docContentType = docContentType; }
*
*//**
*
* @author weip
* @time 0:23:24 2006-5-11
* @param docFileName
*/
/*
* public void setDocFileName(String docFileName) { this.docFileName =
* docFileName; }
*/

/**
*
*/
/*
* private String docContentType;
*
*//**
*
*/
/*
* private String docFileName;
*/

.............................................................

}

当程序进入到action当中时,你可以开始处理上面代码中的doc,此时文件已上传到服务器中的一个临时目录(同时被注入到action中就是你看到的doc),此临时目录由webwork.properties指定,你必须将此文件拷贝到你需要的目录,否则action执行完毕,此文件会被删除,准确说是拦截器的后处理删除了临时文件,这一段结论的前提是你使用拦截器处理上传

step3
处理配置文件,配置拦截器

<action name="upload" class="com.mofile.baby.web.action.signup.UploadAction">

<result name="success" type="freemarker">/page/signup/uploadfile.htm</result>
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="defaultWebStack"/>

</action>

step4
对于webwork.properties的一些处理
webwork in action上推荐使用webwork.multipart.parser=jakarta而不是默认的 pell,如果使用前者,不要忘了在你的lib中加入commons-fileupload.jar


需要注意的问题:
你在使用
fileUpload传拦截器的时候应该避免使用execAndWait拦截器,否则很有可能会出现空指针,因为execAndWait拦截器会在另一个线程处理action,而原来的线程会删掉临时文件,所以当你在action中处理文件的时候很有可能文件已被删掉,虽然这并非一定会出现,但毕竟不安全
分享到:
评论

相关推荐

    webwork文件上传

    简单的使用webwork框架实现了文件上传的功能 主要是针对EXCEL文件

    webwork 上传文件与下载文件 使用笔记

    项目里需要实现webwork 上传与下载文件操作, 自己摸索过程中出现了很多问题,一一解决, 记录下来本准备做参考,现贡献给大家, 记得有点乱,耐心看完,一定会有帮助的。

    Webwork 实现文件上传下载代码详解

    本文主要从三个方面给大家介绍webwork文件上传下载知识,包括以下三个方面: 1. 包装 Request 请求 2. 获取文件上传的解析类 3. 项目实战配置和使用 Web上传和下载应该是很普遍的一个需求,无论是小型网站还是大...

    fileupload+dwr2+webwork2实现带进度条上传文件

    fileupload+dwr2+webwork2实现带进度条上传文件

    Struts2用到的核心jar包

    Struts2用到的核心jar包: 基本功能核心jar包 5个(2.1.8) struts2-core-2.1.8.1.jar(*) Struts2核心包,是Struts框架的“外衣”...用于实现文件上传功能的jar包。 使用时候将5个Struts2的核心Jar包到WEB-INF/lib/下

    SSH 框架所需JAR包

    1.commons-fileupload.jar(commons项目中的关于文件上传的包, struts2.1.6版本后必须加入此文件) 2.commons-io.jar(commons项目(commons项目就是java中一些常用的公共的组件)的io子项目,是处理异常的) 3....

    SSH 项目 整合jar包

    1.commons-fileupload.jar(commons项目中的关于文件上传的包, struts2.1.6版本后必须加入此文件) 2.commons-io.jar(commons项目(commons项目就是java中一些常用的公共的组件)的io子项目,是处理异常的) 3....

    web项目常用jar包及说明.zip

    1.commons-fileupload.jar(commons项目中的关于文件上传的包, struts2.1.6版本后必须加入此文件) 2.commons-io.jar(commons项目(commons项目就是java中一些常用的公共的组件)的io子项目,是处理异常的) 3....

    Spring-Reference_zh_CN(Spring中文参考手册)

    在表单中处理分段文件上传 13.9. 使用Spring的表单标签库 13.9.1. 配置标签库 13.9.2. form标签 13.9.3. input标签 13.9.4. checkbox标签 13.9.5. radiobutton标签 13.9.6. password标签 13.9.7. select标签 13.9.8...

    Spring中文帮助文档

    在表单中处理分段文件上传 13.9. 使用Spring的表单标签库 13.9.1. 配置 13.9.2. form标签 13.9.3. input标签 13.9.4. checkbox标签 13.9.5. checkboxes标签 13.9.6. radiobutton标签 13.9.7. radiobuttons...

    MyEclipse_9创建SSH2开发环境必须的独立包

    commons-fileupload.jar 文件上传 commons-io.jar 输入输出,支持文件上传 commons-logging.jar 用于通用日志处理 commons-validator.jar 提供了一个简单的,可扩展的框架来在一个XML文件中定义校验器(校验方法)和...

    Spring 2.0 开发参考手册

    在表单中处理分段文件上传 13.9. 使用Spring的表单标签库 13.9.1. 配置标签库 13.9.2. form标签 13.9.3. input标签 13.9.4. checkbox标签 13.9.5. radiobutton标签 13.9.6. password标签 13.9.7. select...

    Spring API

    在表单中处理分段文件上传 13.9. 使用Spring的表单标签库 13.9.1. 配置 13.9.2. form标签 13.9.3. input标签 13.9.4. checkbox标签 13.9.5. checkboxes标签 13.9.6. radiobutton标签 13.9.7. radiobuttons...

    spring chm文档

    在表单中处理分段文件上传 13.9. 使用Spring的表单标签库 13.9.1. 配置标签库 13.9.2. form标签 13.9.3. input标签 13.9.4. checkbox标签 13.9.5. radiobutton标签 13.9.6. password标签 13.9.7. select...

    webx3框架指南PDF教程附学习Demo

    • Webwork • Tapestry • Spring MVC 以上框架都是非常优秀的。说实话,如果阿里巴巴网站在2001年开始,就有这么多可选择的话,无论选择哪一个都不会有问题。因为这些年来,所有的开源Web框架都在互相学习、并...

Global site tag (gtag.js) - Google Analytics