`

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库文件。开发JSF2.0 Web应用时放在lib目录下。

    jsf2.0 文件上传组件

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

    JSF2.0 Tutorial 1

    JSF2.0 Tutorial,总共18个章节,详细介绍了jsf2.0的overview, new feature, managedbean, el, ajax,spring集成等,并配source code.由于文件比较大切分成了3个压缩包。

    JSF2.0 Tutorial 示例2

    JSF2.0 Tutorial,总共18个章节,详细介绍了jsf2.0的overview, new feature, managedbean, el, ajax,spring集成等,并配source code.由于文件比较大切分成了3个压缩包。

    JSF2.0 Tutorial 示例3

    JSF2.0 Tutorial,总共18个章节,详细介绍了jsf2.0的overview, new feature, managedbean, el, ajax,spring集成等,并配source code.由于文件比较大切分成了3个压缩包。

    JSF2.0实战 - 9、自定义Filter处理资源文件依赖关系

    JSF2.0实战 - 9、自定义Filter处理资源文件依赖关系源代码

    jsf2.0上传组件(servlet3.0)

    利用JSF2.0和servlet3.0做的上传的例子,并实现单个文件上传的组件,虽然有些小限制,但是对单个上传功能完全可以实现。花了一整天的时间来研究啊,不容易!顶起吧。有什么想法请发表评论

    JavaServer Faces 2.0完全参考手册(JSF2.0中文版) 1/2

    全面介绍JSF2.0、详述如何使用Ajax,以及按照JSF2.0、的方式构建组件、快速理解众多可以直接运行的代码示例。 作者 作者:(美国)伯恩斯 (Ed Burns) (美国)沙尔克 (Chris Schalk) (美国)格里芬 (Neil Griffin) 译者...

    JavaServer Faces 2.0完全参考手册(JSF2.0中文版).part1

    全面介绍JSF2.0、详述如何使用Ajax,以及按照JSF2.0、的方式构建组件、快速理解众多可以直接运行的代码示例。 作者 作者:(美国)伯恩斯 (Ed Burns) (美国)沙尔克 (Chris Schalk) (美国)格里芬 (Neil Griffin) 译者...

    jsf配置文件

    jsf 的配置文件,需放在web-inf下。faces-config.xml

    JavaServer Faces 2.0, The Complete Reference

    另外为了支持自有组件开发,JSF 2.0加入了一个resources约定,将自己创建的组件放于此目录下,省掉了xml配置文件中的说明。 2、 内置的Ajax支持 JSF 2.0吸取了众多开源框架的优点,将Ajax浑然一体的植入了规范中...

    jsf学生信息管理

    jsf2.0,增删改查,分页,批量删除.代码齐全,包括jar包,数据库sql文件.对于刚刚接触jsf的绝对有作用.

    JSF+Spring+Hibernate jar lib

    JSF+Spring+Hibernate jar文件压缩包,hibernate最小配置,Spring 2.0 jar, richfaces

    JSP2.0技术手册pdf(带示例源码).zip

    JavaServer Faces(JSF)技术以及Java Web Services技术的学习 目录 第一章 安装执行环境 1-1 安装 J2SDK 1.4.2 1-2 安装 Tomcat 5.0.16 1-3 安装 JSPBook 站台范例 1-4 安装 Ant 1.6 第二章 Servlet 2.4 简介 2-1...

    jsp2.0 应用教程 光盘

    好像交大的网址打不开传个!(1)本书和随书附送的光盘中...JSF: http://java.sun.com/j2ee/javaserverfaces/download.html 文件上传: http://www.servlets.com/cos/index.html Google搜索: http://www.google.com/apis/

    PrimeFaces学习教程

    1.2 配置,JSF2.0环境下用PrimeFace2.x 4 1.3 Hello World入门示例 4 1.4 UI组件: 4 2 UI组件 5 2.1 布局 5 2.1.1 Layout 页面布局 5 2.1.2 Panel用于包含其它组件,提供象windows窗口式的外观。 8 2.1.3 TabView ...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    2.4.2 JSF配置文件结构 68 2.5 托管Bean和表达式语言 69 2.5.1 托管Bean的属性和表达式语言 69 2.5.2 托管Bean的方法 78 2.5.3 托管Bean的分类 80 2.5.4 初始化托管Bean的属性 85 2.5.5 通过FacesContext访问应用...

    facelets模板

    在 JavaServer Faces (JSF) 2.0 中,Facelets 取代 JavaServer Pages (JSP) 成为默认的视图声明语言 (VDL)。有了 Facelets,您不需要像以前在 JSF 1.2 中那样配置视图处理器。Facelets 是一种以 JSF 为中心的视图...

    pet-catalog:JEE6版本

    宠物目录样本这是一个完整的 JEE6 示例,包含 JSF2.0、EJB3.1 和 JPA2.0。 此示例使用 Stackato 旧版构建包中的 JavaEE 框架。数据库配置因为我们已经在 manifest.yml 文件中指定了一个framework标签,所以 Stackato...

Global site tag (gtag.js) - Google Analytics