我在数据库中有一些数据,希望能够将其导出到CSV文件并提供链接,以便用户可以下载。
Spring 3是否为此提供了任何机制?
你知道我怎么能这样做?
答案 0 :(得分:21)
我想构建CSV或任何文本文件视图应该很容易。以下是建议的步骤:
创建一个View类(您可以将其命名为CSVView
)扩展org.springframework.web.servlet.view.AbstractView
如下所示覆盖renderMergedOutputModel
(伪代码):
BufferedWriter writer = new BufferedWriter(response.getWriter())
response.setHeader("Content-Disposition","attachment; filename=\"file.csv\"");
myDbData = (Whatever) modelMap.get("modelKey");
some kind of loop {writer.write(myDbData csv row); writer.newLine(); }
finally writer.flush(); writer.close();
之后只返回ModelAndView与模型(对象Whatever
与modelKey
)并在控制器中查看为CSVView
。