Показывать повлек за собой Джаспер в Браузере WILDFLY 9

У меня есть Веб приложение, которое производит одну, я храню в архиве .pdf к диску и также хочу призвать показывать это в browser прямо. Прокрути изображение в окне в Wildfly 9 и у процесса произвождения файла к диску нет проблем, но захотев показать это в браузере, не показывает и также меня не бросает ошибка, их скопировал код, чтобы производить сохранил в архиве их, провел одну неделю пытаясь всего и нет случая, и ранее к тому же самому в JBOSS AS7 и оно функционировало без драмы.

public void testBuildPdf1() {
        final String REPORT_PATH= "C:\\tools\\prueba.pdf";
        FacesContext facesContext=FacesContext.getCurrentInstance(); 
        String report=facesContext.getExternalContext().getRealPath("reportes//rptExtracto.jasper");
        String logoCabeza=facesContext.getExternalContext().getRealPath("imagenes//logoCabeza.jpg");
        JRBeanCollectionDataSource datosRubro= this.getFuncionario();


        try {           
            Map<String, Object> params = new HashMap<String, Object>();
            params.put("LogoCGR", logoCabeza);          
            HttpServletResponse response= (HttpServletResponse)facesContext.getExternalContext().getResponse();
//          JasperReport reportCompile= JasperCompileManager.compileReport(report);
            JasperPrint jasperPrint = JasperFillManager.fillReport(report, params, datosRubro);
            //genera el pdf en disco
            JasperExportManager.exportReportToPdfFile(jasperPrint, REPORT_PATH);
           //send to the browser

            byte[] reportToPdf= JasperExportManager.exportReportToPdf(jasperPrint);

                response.setContentType("application/pdf");
                response.setContentLength(reportToPdf.length);
                response.setHeader("Content-Disposition","attachment; filename="+ report + ".pdf");
                ServletOutputStream out = response.getOutputStream();
                out.write(reportToPdf);
                facesContext.responseComplete();
                out.flush();
                out.close();

            } catch (Exception e) {
                System.out.println("ERROR AL EXPORTAR!!");
            }

    }

    public JRBeanCollectionDataSource getFuncionario(){
        Map<String, Object> parametros = new HashMap<String, Object>();
        parametros.put("codigoFuncionario",this.idFuncionario);
        parametros.put("anio", 2018);
        parametros.put("mes", 7);
        List<AdmFuncionarioDTO> listaFun=funcionarioService.listar(0,-1, "f.id", "ASC", parametros).getLista();

        for (AdmFuncionarioDTO f: listaFun){    
            System.out.println("NOMBRE: "+f.getNombre());
            for(GenMovimientoSalarialDTO m : f.getListaMovimientos()) {
                System.out.println("MONTO: "+ m.getMovimientoImporte());
                System.out.println("MONTO: "+ m.getMovimientoDescripcion());
            }
        }       

это зависимости от моего POM: javax.servlet servlet-api 2.5 provided

    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.1</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.16.18</version>
    </dependency>
    <dependency>
        <groupId>py.gov.cgr</groupId>
        <artifactId>rrhh-extracto</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>

    <!-- SPRING FRAMEWORK -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aspects</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-expression</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-binding</artifactId>
        <version>1.0.6</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.webflow</groupId>
        <artifactId>spring-faces</artifactId>
        <version>2.4.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.webflow</groupId>
        <artifactId>spring-webflow</artifactId>
        <version>2.4.1.RELEASE</version>
    </dependency>

    <!-- SPRING SECURITY FRAMEWORK -->
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-taglibs</artifactId>
        <version>3.2.5.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-config</artifactId>
        <version>3.2.5.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-web</artifactId>
        <version>3.2.5.RELEASE</version>
    </dependency>

    <!-- REPORTES -->

    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-collections4</artifactId>
        <version>4.2</version>
    </dependency>
    <dependency>
        <groupId>commons-beanutils</groupId>
        <artifactId>commons-beanutils</artifactId>
        <version>1.9.3</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.2</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/javax.xml/jaxp-api -->
    <dependency>
        <groupId>javax.xml</groupId>
        <artifactId>jaxp-api</artifactId>
        <version>1.4.2</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-digester3 -->
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-digester3</artifactId>
        <version>3.2</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.itextpdf/itext-pdfa -->
    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>itext-pdfa</artifactId>
        <version>5.5.12</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>3.10-FINAL</version>
    </dependency>
    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports</artifactId>
        <version>6.5.1</version>
    </dependency>
    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports-fonts</artifactId>
        <version>6.0.0</version>
    </dependency>
0
задан 01.03.2019, 06:20
1 ответ

Попробуй делать ты mГ©todo следующего способа:

public void testBuildPdf1() {
    final String REPORT_PATH = "C:\\tools\\prueba.pdf";
    FacesContext facesContext = FacesContext.getCurrentInstance();
    String report = facesContext.getExternalContext().getRealPath("reportes//rptExtracto.jasper");
    String logoCabeza = facesContext.getExternalContext().getRealPath("imagenes//logoCabeza.jpg");
    JRBeanCollectionDataSource datosRubro = this.getFuncionario();

    try {
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("LogoCGR", logoCabeza);
        HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
        JasperPrint jasperPrint = JasperFillManager.fillReport(report, params, datosRubro);            

        // Mostrando el documento
        HttpServletResponse httpServletResponse = null;
        httpServletResponse = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
        httpServletResponse.addHeader("Content-disposition", "inline; filename=" + report + ".pdf");
        httpServletResponse.setContentType("application/pdf; name='" + report + ".pdf'");
        ServletOutputStream servletOutputStream = httpServletResponse.getOutputStream();
        JasperExportManager.exportReportToPdfStream(jasperPrint, servletOutputStream);
        FacesContext.getCurrentInstance().responseComplete();
    } catch (Exception e) {
        System.out.println("ERROR AL EXPORTAR!!");
    }

}

Я Думаю, что это тебе нужно, он то response servlet.

0
ответ дан 19.11.2019, 22:43

Теги

Похожие вопросы