当前位置:  开发笔记 > 编程语言 > 正文

spring-mvc下载动作

如何解决《spring-mvc下载动作》经验,为你挑选了1个好方法。

是否有一些技巧可以让SpringMVC自定义视图在broswer中导致文件下载?我已经实现了该render方法,org.springframework.web.servlet.View但代码导致我的数据作为一个数据块写入页面,而不是开始下载操作.

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();
    }

}

我知道正在从服务器日志中调用render方法.我知道GenerateXLSFile是从服务器日志创建的.我知道outputTSVFromDom可以从我的JUnit测试中获取文档并对其进行转换.它还会写入服务器日志并完成.数据最终在浏览器中.根据firebug,HTTP标头看起来很正常.catch块中没有错误在服务器日志中.

我在这里错过了什么?



1> David Rabino..:

首先,您使用的是哪种API?Excel文档是二进制文件,因此您应该使用OutputStream,而不是Writer.

其次,Spring内置了对Excel文档的支持:

AbstractExcelView,基于Apache POI API

AbstractJExcelView,基于JExcel API

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有