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)

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 青河县| 利辛县| 林甸县| 英吉沙县| 融水| 太原市| 福贡县| 文成县| 中超| 麻城市| 江达县| 安阳市| 松桃| 高碑店市| 崇义县| 宿迁市| 九江县| 江山市| 肇东市| 明光市| 五大连池市| 石棉县| 连平县| 德昌县| 鲁山县| 冀州市| 塔城市| 从江县| 资溪县| 秀山| 忻城县| 建湖县| 承德县| 紫阳县| 长沙市| 章丘市| 云梦县| 平利县| 长白| 永春县| 益阳市|