SpringMVCカスタムビューを取得してbroswerでファイルをダウンロードする方法はありますか?私はorg.springframework.web.servlet.View
からrender
メソッドを実装しましたが、ダウンロードアクションを開始する代わりに、データがページに書き込まれるという結果になりました。spring-mvc download action
try {
Document oDoc = (Document) model.get("oDoc");
out = new PrintWriter(response.getOutputStream());
response.setContentType("application/vnd.ms-excel");
response.setHeader("content-disposition", "attachment; filename=file.xls");
GenerateXLSFile gof = new GenerateXLSFile();
gof.outputTSVFromDom(out, oDoc);
} catch block here {
//writes to log here
} finally {
if (out != null) {
out.flush();
out.close();
}
}
私は、レンダリングメソッドがサーバーログから呼び出されていることを知っています。私はGenerateXLSFileがサーバーログから作成されていることを知っています。私はoutputTSVFromDomがドキュメントを受け取り、それを私のJUnitテストから変換できることを知っています。また、サーバーログに書き込んで完了します。データはブラウザで終了します。ファイアウォールによれば、HTTPヘッダーは正常に見えます。サーバーログにcatchブロックのエラーはありません。
私はここで何が欠けていますか?
に基づいてあなたといじるみましたコンテンツタイプは、アプリケーション/オクテットストリームのように、それを何か他のものに変更すると(ダウンロード可能である必要があります)、何が起こるかを確認します。 – Jherico
'out = response.getWriter(); 'を試してください。 – serg