我在数据库中有一些数据,希望能够将其导出为CSV文件并提供一个链接,以便用户可以下载。
Spring 3是否提供了此功能?
您知道如何实现吗?
我想应该很容易构建一个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");
某种类型的循环 {writer.write(myDbData csv行); writer.newLine(); }
最后 writer.flush(); writer.close();
之后在控制器中以CSVView
作为视图,使用模型(包含modelKey
的Whatever
对象)返回ModelAndView。