Класс jasperviewer создает представление, но в отдельном окне, и создает пустую страницу в браузере - PullRequest
0 голосов
/ 10 октября 2019

У меня есть сборка jaser report в ireport, проблема в том, что я действительно хотел открыть отчет в браузере, но он открывается в новом окне компонента на основе свинга и создает пустую страницу в браузере. pdf генерируется при нажатии кнопки.

мой jsp файл

 <td><a class="btn btn-primary" href="${pageContext.request.contextPath}/account/viewCaseDetails/${account.caseId}"  role="button">View Case</a></td>

Контроллер

@RequestMapping({"/viewCaseDetails/{caseid}"})
    @ResponseBody
       public void viewCaseDetails(HttpServletResponse response,HttpSession session,@PathVariable("caseid") int caseid) throws JRException, Exception {
        System.setProperty("java.awt.headless", "false");
            String jrxmlFile =session.getServletContext().getRealPath("/reports/caseInvoice.jrxml");
            JasperReport jasperReport = JasperCompileManager.compileReport(jrxmlFile);
            System.out.println("sdfg------------df-----"+jrxmlFile);
            Object case_id = (Integer)caseid;
            Map<String, Object> parameters = new HashMap<>();
            parameters.put("caseId", case_id);
            Iterator<Map.Entry<String, Object>> itr = parameters.entrySet().iterator(); 
            while(itr.hasNext()) 
            { 
                 Map.Entry<String, Object> entry = itr.next(); 
                 System.out.println("Key = " + entry.getKey() +  
                                     ", Value = " + entry.getValue()); 
            }

            JasperPrint jasperprint=JasperFillManager.fillReport(jasperReport,parameters, Connection_db.getConnection());


            JasperViewer jasperViewer = new JasperViewer(jasperprint, false);
            jasperViewer.setDefaultCloseOperation(JasperViewer.DISPOSE_ON_CLOSE);
            jasperViewer.setZoomRatio((float) 1.25);
            jasperViewer.setExtendedState(JasperViewer.MAXIMIZED_BOTH);
            jasperViewer.requestFocus();
            jasperViewer.setVisible(true);

            response.getOutputStream().flush();
            response.getOutputStream().close();
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...