`
yinbinhome
  • 浏览: 123191 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

webwork下载

阅读更多
WEBWORK的文件下载机制。使用起来还是比较简单的。
下面是用法说明:
首先在一个ACTION中,如果判断有权限进行文件下载。
则:
1、读出该下载文件,并生成一个流。 文件名应当从请求的request中读出,或从用户的表中取出。
public String downLoadFile(String fileName){
try {
File input = new File("e:/engilish literature.doc");
docStream = new FileInputStream(input);
contentDisposition = "test.txt";
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "download";
}
2、将输出导向到一个特殊的RESULT中去。叫做Steam Result。
<action name="register" class="com.job2easy.web.user.RegisterAction">
<result name="success" type="dispatcher">
<param name="location">/home/register-result.jsp</param>
</result>
<result name="input">
<param name="location">/home/register.jsp</param>
</result>
<result name="download" type="stream">
<param name="contentType">application/x-msdownload</param>
<param name="inputName">docStream</param>
<param name="bufferSize">1024</param>
<param name="contentDisposition">attachment;filename="${contentDisposition}"</param>
</result>

<interceptor-ref name="params"/>
</action>
3、这中间有几个参数需要配置:
contentType设成 application/x-msdownload 就可以。这样浏览器会保证弹出一个下载文件的对话框。
inputName 这个比较重要,这个名字是输入流的名称, 以后要steam result的实现类中为根据OGNL的表达式去查找的。
contentDisposition 这个是下载之后,保存在用户端的文件名称。${contentDisposition} 看一下代码。如果写成上述的方式,就有机会在ACTION中设置文件名。
4、另外一个参数:contentLength就是下载文件的大小,webwork的stream result似乎实现有问题,不能根据文件的大小动态进行设置,只能写死。
这个参数的意义是告诉浏览下载的文件有多大,以便浏览器正确的显示进度条。如果这个功能很重要的话,可以重新写一个RESULT来实现。
分享到:
评论

相关推荐

    webwork-2.2.5源码包下载.txt

    ### WebWork-2.2.5源码包下载与解析 #### 一、WebWork框架简介 WebWork是一个开源的Java Web应用开发框架,它基于Java Servlet API,并且支持多种编程模型,包括MVC(Model-View-Controller)模式。WebWork框架的...

    Webwork教程

    ### Webwork教程知识点详解 #### 一、WebWork框架简介 **WebWork**是一个开源的Java Web应用程序框架,它的设计理念是简化Web应用的开发过程,提高开发效率。随着时间的发展,WebWork逐渐演变成了**Struts2**框架...

    webwork资源

    WebWork 是一个基于Java的Web应用程序框架,设计用于简化和增强Web应用的开发。这个框架采用了Model-View-Controller(MVC)模式,使得开发者能够更有效地组织代码,提高代码的可维护性和重用性。在WebWork的核心...

    webwork的上传和下载的Demo

    在Web开发中,文件上传和下载是常见的功能需求,本Demo展示了如何在WebWork框架下实现这两个操作。 首先,我们要理解上传和下载的基本原理。文件上传是指用户通过Web表单选择本地文件,然后将其发送到服务器的过程...

    webwork-1.4-src.zip_webwork_webwork s_webwork.zip_webwork1.4.zip

    WebWork 是一个基于Java的开源MVC(Model-View-Controller)框架,它主要用于构建企业级的Web应用程序。WebWork1.4是该框架的一个较早版本,它为开发者提供了强大的功能,包括动作映射、数据绑定、异常处理、国际化...

    webwork 2.2.7.zip打包下载

    这是一个包含了WebWork 2.2.7完整组件的下载包,它包含了框架运行所需的所有核心组件。解压这个压缩包后,你会看到一个名为`/lib`的文件夹,这是存放库文件的地方,也就是各种依赖的JAR文件。这些JAR文件是WebWork...

    webwork

    这个"webwork源码下载"可能是指获取WebWork框架的源代码,这对于学习、调试或自定义框架功能的开发者来说是很有价值的。 WebWork的核心特性包括: 1. **动作映射**:WebWork通过XML配置文件定义动作(Action)与...

    webWork

    WebWork是一个基于Java的开源MVC(模型-视图-控制器)框架,它在Web应用程序开发中扮演着重要角色。这个“webWork中文教程”旨在帮助开发者深入理解WebWork框架的原理、特性和实践方法。下面,我们将详细介绍WebWork...

    WebWork教程开发资料

    这通常包括下载WebWork的JAR文件并将其添加到项目的类路径中,配置web.xml以启动WebWork的前端控制器。然后,创建一个简单的"HelloWorld"应用,这通常是学习新框架的第一步。在WebWork中,这将涉及创建一个Action类...

    webwork2个人学习总结

    - 开始学习Webwork2时,首先需要下载对应的JAR包,例如webwork-2.2.6.2版本。 - 将下载的JAR包放入项目中的LIB目录,包括default文件夹下的所有JAR包和webwork-2.2.6.jar。 - 这些JAR包是Webwork2运行的基础,...

    webwork2中文参考

    webwork2中文参考

    WebWork 2.2.6 API

    WebWork 2.2.6 API 是一个针对Java Web应用程序的框架,它提供了一种模型-视图-控制器(MVC)架构,帮助开发者构建可维护、可扩展且易于调试的Web应用。WebWork的核心特性包括强大的动作映射、类型安全的参数绑定、...

    webWork2.26 的helloWorld 例子

    WebWork是早期非常流行的一个Java Web开发框架,它在Struts1之后,Struts2之前,为开发者提供了更灵活和强大的MVC(Model-View-Controller)架构支持。本示例是一个基于WebWork2.26的“HelloWorld”程序,非常适合...

    webwork 2.2.6中文文档

    webwork 2.2.6 中文版本,然后编译生成chm格式,方面查看。

    webwork2.2.4架包

    webwork2.2.4架包帮助学习

    WebWork教程

    开发者可以从官方提供的链接下载最新的WebWork压缩包,并按照文档说明进行解压和配置环境。解压后的文件中包含了WebWork运行所需的jar包、示例文件和文档资源。 WebWork教程提供了关于如何使用WebWork框架开发Web...

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

    WebWork提供了丰富的特性,如类型转换、验证、国际化、文件上传和下载等,这些功能使得开发者可以更高效地构建高质量的应用程序。 #### 二、文件上传基础知识 文件上传是Web应用程序中的常见需求之一。在WebWork中...

Global site tag (gtag.js) - Google Analytics