• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:CSVファイルをダウンロード)

CSVファイルをダウンロードする方法

このQ&Aのポイント
  • CSVファイルをダウンロードする方法について教えてください
  • HttpServletResponseのgetOutputStream()を使用してCSVファイルをダウンロードする方法について教えてください
  • ボタンをクリックして警告が表示され、CSVファイルのダウンロードまたは保存が選べるようにする方法について教えてください

質問者が選んだベストアンサー

  • ベストアンサー
noname#18558
noname#18558
回答No.3

値の受け渡しは、 サーブレット→サーブレット JSP→サーブレットは違います。 JSP→サーブレットの遷移は、 1.POSTもしくはGET 2.forward 3.redirect 4.include のどれでしょう? 1、3の場合は、パラメータで渡すことになります。 2、4の場合は、#2の方法でできます。

japan_3
質問者

補足

調べてみました。 includeはjspの中にテキストを埋め込む方法。 redirectはURLを一時的に書き換える方法。 forwardはディスパッチを行うメソッド。 そのときjspも呼び出される。(主語と目的語が逆) Post/Getはjsp間でのやり取りに使う ことが分かりました。 答えは1番でしょうか?? 採点のほう、よろしくお願いします。m(__)m

その他の回答 (2)

noname#18558
noname#18558
回答No.2

>1、サーブレット側にString値を   受け渡したい。 とは、サーブレットからサーブレットにStringを渡したいということでしょうか? それならば、ServletRequest#setAttributeとServletRequest#getAttributeでいいんじゃないでしょうか。 >を変形してこのString値をダウンロード出来るようにしたい。 #1でも回答していますが、ServletResponse#getWriterを使えば、いちいちCSVファイルを生成しなくても文字列をそのままダウンロードできるはずです。

japan_3
質問者

補足

ありがとうございます。 本当はjspからサーブレットだったのですが、 教えてもらった方法で何とかならないか 試してみます。 分からなかったらまたお願いします。

noname#18558
noname#18558
回答No.1

単純にStringを出力するだけなら、 ServletResponse#getWriterを使えばいいと思います。 詳しくはAPIリファレンスを参照下さい。

参考URL:
http://java.sun.com/j2ee/sdk_1.3/ja/techdocs/api/javax/servlet/ServletResponse.html#getWriter()
japan_3
質問者

補足

ご解答ありがとうございました。 色々と試してみて、 サーブレットファイルの作成 およびjsp側からの連絡を 達成しました。 ボタンを押すとダウンロード するようになっています。 ただ、まだ分からない点が 2つほどありまして、質問させて 下さい。 1、サーブレット側にString値を   受け渡したい。 2、 BufferedInputStream bistream = new BufferedInputStream(new FileInputStream( getServletContext().getRealPath("ファイル名"))); を変形してこのString値をダウンロード出来るようにしたい。 問題は、ファイルを作成していない段階で ファイル名を指定しないといけないことです。 どうにかいい方法はないでしょうか? よろしくお願いします。m(__)m

関連するQ&A