Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

JSFでCSVファイルダウンロード

CSVファイルダウンロードを調べていて以下のサイトを見つけたのですが、セキュリティチェックで見ることができません。どなたかこのサイトに記載してあるソースを展開していただけないでしょうか?

d.hatena.ne.jp/fafhrd/20070315

2

回答

185515

閲覧

2件の回答

評価

0

プロキシでも使って見られないの?

このサイトの人はフリッツ・ライバーファンらしいな。親近感が(関係ない)。

------------------------------------------------
■ JSFのアクションで独自の出力を行うには

JavaServer Faces でCSV,PDFなどをダウンロードするためのアクションは、こんな風にするとよい。
@In private FacesContext facesContext;

public String someAction() {
    String encoding = "Windows-31J";
    String filename = getFilename(); // ファイル名を取得する。
    ExternalContext externalContext = facesContext.getExternalContext();
    HttpServletResponse response = (HttpServletResponse) externalContext.getResponse();
    response.setContentType("application/octet-stream; charset=" + encoding);
    response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");
    response.setCharacterEncoding(encoding);
    PrintWriter writer = response.getWriter();
    writeCsvData(writer); // writerに出力する。
    facesContext.responseComplete();
    return null;
}

ポイントはFacesContext.responseComplete()で、これを呼んでおくとRenderResponseフェーズがスキップされる。

評価

0

ありがとうございます。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。