Java學習

          java,spring,structs,hibernate,jsf,ireport,jfreechart,jasperreport,tomcat,jboss -----本博客已經搬家了,新的地址是 http://www.javaly.cn 如果有對文章有任何疑問或者有任何不懂的地方,歡迎到www.javaly.cn (Java樂園)指出,我會盡力幫助解決。一起進步

           

          JSF 下載文件 怎么實現

           
           java code ::

          ----------------------------------

          package demo;


          import java.io.BufferedInputStream;
          import java.io.BufferedOutputStream;
          import java.io.File;
          import java.io.FileInputStream;
          import java.io.IOException;
          import java.io.InputStream;
          import java.io.UnsupportedEncodingException;
          import java.net.URLDecoder;
          import java.util.logging.Logger;

          import javax.faces.application.Application;
          import javax.faces.context.FacesContext;
          import javax.faces.event.ActionEvent;
          import javax.servlet.ServletOutputStream;
          import javax.servlet.http.HttpServletResponse;

          import org.operamasks.faces.annotation.ManagedBean;
          import org.operamasks.faces.annotation.ManagedBeanScope;
          @ManagedBean(name
          ="downFile", scope=ManagedBeanScope.SESSION)
          public class DownFile {
          public String download() {
          //OaMailAttach oaMailAttach = getOaMailAttach();

          String path
          ="G:\\sun\\";
          String fileName
          ="20074111452140.doc";

          try {
          FacesContext ctx
          = FacesContext.getCurrentInstance();
          ctx.responseComplete();
          //String contentType = "application/octet-stream;charset=utf-8";
          String contentType = "application/x-download";
          HttpServletResponse response
          = (HttpServletResponse) ctx.getExternalContext().getResponse();



          response.setContentType(contentType);

          StringBuffer contentDisposition
          = new StringBuffer();

          contentDisposition.append(
          "attachment;");

          contentDisposition.append(
          "filename=\"");
          contentDisposition.append(fileName);
          contentDisposition.append(
          "\"");
          //log.debug(System.getProperty("file.encoding"));
          response.setHeader("Content-Disposition", new String(contentDisposition.toString().getBytes(System.getProperty("file.encoding")),"iso8859_1"));
          // log.debug(contentDisposition.toString());
          ServletOutputStream out = response.getOutputStream();

          //log.debug(new Long(oaMailAttach.getAtFile().length()));

          byte[] bytes = new byte[0xffff];
          InputStream is
          = new FileInputStream(new File(path + fileName));
          int b = 0;
          while ((b = is.read(bytes, 0, 0xffff)) > 0) {
          out.write(bytes,
          0, b);
          }
          is.close();
          out.flush();
          ctx.responseComplete();
          }
          catch (Exception e) {
          // TODO 自動生成 catch 塊
          e.printStackTrace();
          }
          return null;
          }


          -------------------------------------------------------------------------

          <%@ page contentType="text/html;charset=UTF-8"%>
          <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
          <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
          <%@ taglib prefix="l" uri="http://www.apusic.com/jsf/layout" %>
          <%@ taglib prefix="ajax" uri="http://www.apusic.com/jsf/ajax" %>
          <%@ taglib prefix="w" uri="http://www.apusic.com/jsf/widget" %>
          <f:view >
          <w:page title="Stock Quote" skin="aqua">
          <h:head>
          <style type="text/css">
          #grid
          -example {
          height:280px;
          border:1px solid #cbc7b8;
          }
          #stock
          -detail {
          width:400px;
          }
          </style>
          <w:stylesheet src="/common/resources/examples.css"/>
          </h:head>
          <h:form>
          <h:commandLink id="file1" value="下載文件" action="#{downFile.download}" type="button">
          </h:commandLink>
          </h:form>

          </w:page>
          </f:view>


          }

          posted on 2008-08-22 10:35 找個美女做老婆 閱讀(1674) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          統計

          公告

          本blog已經搬到新家了, 新家:www.javaly.cn
           http://www.javaly.cn

          常用鏈接

          留言簿(6)

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 东辽县| 绥滨县| 白城市| 班玛县| 涪陵区| 山西省| 库尔勒市| 信丰县| 正宁县| 闻喜县| 石门县| 南郑县| 星座| 承德县| 东光县| 五寨县| 四子王旗| 安阳市| 临海市| 辽阳县| 朝阳市| 永清县| 秀山| 奉节县| 双鸭山市| 乌苏市| 九龙县| 定陶县| 鸡泽县| 万州区| 赣榆县| 洛川县| 宁波市| 夏河县| 广宁县| 门源| 抚松县| 民县| 汝州市| 黔东| 闻喜县|