我有一个使用 spring mvc 的程序。我编写了两个控制器,第一个用于导入数据,第二个用于生成报告。我在生成控制器时遇到问题。当用户单击生成按钮时,我想生成报告,将报告保存在服务器硬盘上并将报告发送给用户。当我尝试将报告保存在硬盘上时,我遇到了 Illegal state 异常:Cannot call getWriter(), getOutputStream()已经调用。我搜索了解决方案,但找不到匹配的答案。这是我的发电机控制器代码:
\n\n@RequestMapping(value = "/generate", method = RequestMethod.POST)\npublic String generateReport(\n Model model,\n @Valid @ModelAttribute("reportProperties") ReportProperties reportProperties,\n BindingResult result, HttpServletResponse response) {\n if (result.hasErrors()) {\n model.addAttribute("logMessage",\n "Generowanie Raportu nie powiodlo sie.");\n return "import";\n }\n\n //Walidacja dat. Mozna przeniesc na validator\n if(reportProperties.getEndDate().compareTo(reportProperties.getStartDate()) < 0){\n model.addAttribute("logMessage", "Data ko\xc5\x84cowa jest wcze\xc5\x9bniejsza od poprzedniej");\n return "import";\n }\n\n XSSFWorkbook report = null;\n if (reportProperties.getReportType().equalsIgnoreCase("tv")) {\n report = tvReportGenerator.generate(reportProperties);\n } else if (reportProperties.getReportType().equalsIgnoreCase("prod")) {\n report = …Run Code Online (Sandbox Code Playgroud)