`

JSF2.0如何下载文件

    博客分类:
  • JSF
阅读更多

1. 直接使用文件链接

<h:outputLinkvalue="#{request.contextPath}/resources/file/hello.pdf">   

      <h:graphicImagelibrary="images"name="pdf.jpg"style="border:none"/>

</h:outputLink>

 

2.使用stream

@ManagedBean
@RequestScoped
public class FileDownLoadBean {
    public void down() throws IOException {
        File file = new File("/home/sunjingchuan/Desktop/helloCoco.txt");
        InputStream fis = new FileInputStream(file);

        FacesContext fc = FacesContext.getCurrentInstance();
        ExternalContext ec = fc.getExternalContext();
        ec.responseReset();
        ec.setResponseContentType("application/octet-stream");
        ec.setResponseContentLength((int)file.length());
        ec.setResponseHeader("Content-Disposition", "attachment; filename=helloCoco.txt");
        OutputStream output = ec.getResponseOutputStream();

        byte[] buffer = new byte[1024];
        int len = -1;
        while ((len = fis.read(buffer)) != -1) {
            output.write(buffer, 0, len);
        }

        fis.close();
        output.close();

        fc.responseComplete();
    }
}

 

页面可使用<h:commandLink>或<h:commandButton>

<h:commandLink value="download file" action="#{fileDownLoadBean.down}" />

分享到:
评论

相关推荐

    Mojarra JSF2.0库文件

    将Mojarra JSF 2.0库文件放置在Web应用的`WEB-INF/lib`目录下,是为了让应用服务器能够访问到这些库,从而支持JSF 2.0的功能。 **JSF 2.0的关键特性包括:** 1. ** faces-config.xml 配置文件简化** - 与之前的版本...

    jsf2.0版本helloworld

    本例中的"jsf2.0版本helloworld"就是一个基础的入门示例,旨在展示如何在MyEclipse环境中配置和运行一个简单的JSF应用。 **JSF 2.0的关键特性** 1. **Faces Flow**: JSF 2.0引入了Faces Flow,这是一种新的导航模型...

    JSF2.0源代码

    在提供的文件`mojarra-2.0.3-FCS-source`中,我们可以看到Mojarra的源代码,这对于我们理解JSF的工作原理、自定义组件以及优化应用性能等方面都非常有帮助。 **二、JSF 2.0的关键特性** 1. **Faces-Config.xml配置...

    JSF2.0实战 - 6、TextBox

    1. **声明组件**:在JSF页面的XHTML文件中,你需要声明TextBox组件。这可以通过在`&lt;h:form&gt;`标签内使用`&lt;h:inputText&gt;`标签来实现,例如: ```html ``` 这里的`#{bean.name}`是EL表达式,它将TextBox的值与...

    jSF2.0与Spring整合实例+教程

    2. ** faces-config.xml 配置**:在JSF配置文件中声明Spring Bean的查找机制,通常使用`&lt;managed-bean&gt;`的`class`属性引用Spring Bean。 3. **Spring-WSF Bridge**:如`SpringFaces`库,用于协调JSF和Spring之间的...

    jsf2.0 文件上传组件

    由于JSF2.0标准实现没有提供文件上传组件,而实际应用中很多时候需要上传文件,为了方便开发,我做了一个基于JSF2.0的文件上传组件,上传使用的是Apache 的commons-fileupload组件,我已经将commons-fileupload-...

    JSF 2.0 (Mojarra 2.0.2-FCS)

    在“JSF 2.0 (Mojarra 2.0.2-FCS)”这个压缩包中,包含的是Mojarra实现的JSF 2.0框架的具体实现文件,可供开发者在项目中引用和学习。下载这个版本,可以避免因网络问题而无法获取到这个稳定版本的烦恼。开发者可以...

    JSF.2.0.最新2010教程

    ### JSF 2.0 Cookbook 知识点详解 #### 一、JSF 2.0 概述 **JSF (JavaServer Faces)** 是Java平台标准的一部分,它是一种用于构建企业级Web应用的框架。JSF 2.0作为JSF的一个重大更新版本,在2010年发布,引入了...

    jsf 2.0官方参考手册

    **JSF 2.0(JavaServer Faces 2.0)是Java EE 6平台上的一个关键组件,用于构建Web用户界面。它提供了一个模型-视图-控制器(MVC)框架,使得开发人员能够更高效地创建动态、数据驱动的Web应用程序。** **一、JSF...

    Jsf2.0 Refrence

    在"Jsf2.0 Reference"中,我们能够深入理解JSF的核心概念和技术,这包括但不限于以下几个方面: 1. **JSF生命周期**:JSF组件有其独特的生命周期,包括六种阶段:恢复视图、应用请求值、处理验证、更新模型值、调用...

    JSF 2.0 开发资料

    - **资源管理**:JSF 2.0 改进了资源管理,支持自动处理 CSS 和 JavaScript 文件的版本控制和加载,确保浏览器加载的是最新版本的资源文件。 ##### 2. **增强的组件库** - **内置组件**:JSF 2.0 扩展了内置组件...

    JSF2.0基本环境

    **JSF2.0基本环境搭建与应用** JavaServer Faces(JSF)是Java平台上的一个用于构建Web应用程序的UI框架。JSF2.0是一个重要的版本更新,它引入了许多新特性和改进,使得开发更加高效和灵活。在这个环境中,我们将...

    JSF2.0_开发入门

    - 直接下载并安装 GlassFish 3,其中已内置对 JSF 2.0 的支持。 #### 三、测试项目 - **导入现有 JSF 2.0 项目**:通过 Eclipse 导入现有的 JSF 2.0 项目,确保其能够正确运行。 - **部署到 Tomcat 和 GlassFish**...

    JSF2.0 开发简介

    在JSF 2.0中,开发人员可以通过注解而不是XML配置文件来定义组件和行为。例如,托管bean可以直接通过注解`@ManagedBean`和`@SessionScoped`、`@RequestScoped`等进行声明和管理,这极大地减少了配置文件的复杂性,...

    jsf2.0+jdbc实例

    综上所述,这个"jsf2.0+jdbc实例"涵盖了JSF 2.0组件模型的使用,通过EL进行数据绑定,利用JDBC进行数据库操作,并在Tomcat 6.0上部署和运行。通过学习和实践这个实例,开发者可以深入了解JSF 2.0与数据库集成的基本...

    jsf2.0 tutorial.rar

    JSF 2.0的导航系统基于 faces-config.xml 配置文件或注解,用于控制用户请求后的页面跳转。这使得应用程序流程更加灵活和易于管理。 8. **依赖注入** JSF 2.0集成了Java EE的依赖注入(DI)机制,如JSR 330规范的...

    JSF 2.0 .3 lib 官方发布包

    **JSF 2.0 .3 Lib 官方发布包详解** JavaServer Faces(JSF)是Java平台上的一个标准的、模型-视图-控制器(MVC)框架,用于构建Web应用程序。JSF 2.0是其一个重要版本,带来了许多改进和新特性,而JSF 2.0.3则是该...

Global site tag (gtag.js) - Google Analytics