栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从Spring MVC控制器返回xml文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从Spring MVC控制器返回xml文件

编辑2:首先-
请参阅底部的编辑1-这不是正确的方法。但是,如果无法使序列化程序正常工作,则可以使用以下解决方案,在该解决方案中,您将XML文件读入字符串,并提示用户保存它:

@RequestMapping(value = "/files", method = RequestMethod.GET)public void saveTxtFile(HttpServletResponse response) throws IOException {    String yourXmlFileInAString;    response.setContentType("application/xml");    response.setHeader("Content-Disposition", "attachment;filename=thisIsTheFileName.xml");    BufferedReader br = new BufferedReader(new FileReader(new File(YourFile.xml)));    String line;    StringBuilder sb = new StringBuilder();    while((line=br.readLine())!= null){        sb.append(line);    }    yourXmlFileInAString  = sb.toString();    ServletOutputStream outStream = response.getOutputStream();    outStream.println(yourXmlFileInAString);    outStream.flush();    outStream.close();}

那应该做的。但是请记住,浏览器会缓存URL内容-因此,最好在每个文件中使用唯一的URL。

编辑:

经过进一步检查,您还应该能够将以下代码添加到Action中,以使其起作用:

response.setContentType("text/plain");

(或用于XML)

response.setContentType("application/xml");

因此,完整的解决方案应该是:

@RequestMapping(value = "/files", method = RequestMethod.GET)@ResponseBody public FileSystemResource getFile(HttpServletResponse response) {    response.setContentType("application/xml");    return new FileSystemResource(new File("try.xml")); //Or path to your file }


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/615770.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号