これは個人的な見解なのですが
よく、以下のようなAction上での記述が見受けられます。
- //ダウンロード用のコンテンツタイプ設定
- response.setContentType("application/octet-stream");
- //ファイル名の設定(ヘッダ情報)
- response.setHeader("Content-Disposition","attachment; filename=testcsv");
- //各データの取得
- OutputStream os = response.getOutputStream();
- OutputStreamWriter osw = new OutputStreamWriter(os, encode);
- BufferedWriter writer = new BufferedWriter(osw);
しかし、どうでしょうか。。。
例えば、writerに直接書き込んでるビジネスロジックの途中で、
Exceptionが起こると考えた場合、responseを記述している為、
Struts上の動作に戻ることが不可能ではないですか。。。
Strutsにおいて通常Viewで出力を行なう事を考えれば、
これはこれでおかしいのではないでしょうか?
ファイルがコピーレベルのデータだとしても、
JSP側でダウンロードを行なうのが筋のような気がしないでもないですね。
※処理最終でWriterに記述すれば障害の可能性が低くなることはわかっています。
それではJSPでダウンロードする感じを記述してみましょう!!
0 件のコメント:
コメントを投稿