Wie öffnen Sie eine neue Registerkarte mit der servlet-Antwort?

Möchte ich eine neue Registerkarte öffnen, wenn ich index.jsp - Datei in eine web-Anwendung . Und ich habe Show.java (ein servlet) zur Ausführung . Die aktuelle situation ist, wenn ich auf die Print Schaltfläche in index.jsp , die content-Seite, die ich öffnen möchte, in einem neuen tab angezeigt wird auf der aktuellen Registerkarte . Ich möchte es mit servlet-Antwort und nicht mit javascript oder jquery .

Dies ist die ich geschrieben habe index.jsp Datei ,

<form action="Show">            
    <input type="submit" value="Print"/>
</form>

<%@page import="net.sf.jasperreports.engine.export.JRPdfExporter" %>

<%
   JRPdfExporter export = (JRPdfExporter)request.getAttribute("exportIndentObject");
   if (export != null){
         JRPdfExporter export1 = (JRPdfExporter) session.getAttribute("exportIndentObject");
         export1.exportReport();
    }%>

Dies ist Show.java welche ich benutzen, um Inhalte,

String param ="Terance";     
  Map<String, Object> map = new HashMap<String, Object>();
  map.put("param", param);                
  JRPdfExporter jRPdfExporter = new  JRPdfExporter();                                                                       jRPdfExporter.setParameter(JRPdfExporterParameter.PDF_JAVASCRIPT,                                      this.print();");

  String jsaperFile="C:\\Users\\user\\Desktop\\Terance\\Jasper\\JasperReport\\src\\java\\jasper\\Report.jrxml";
System.out.println(jsaperFile);
try
                    {
                        String report=JasperCompileManager.compileReportToFile(jsaperFile);

                        File file=new File(report);
                        if(!file.exists()){
                            throw new JRException("Cannot find the given file .");
                        }

                        JasperPrint jasperPrint=JasperFillManager.fillReport(report, map);
                        byte[] exportReportToPdf = JasperExportManager.exportReportToPdf(jasperPrint);

                        ServletOutputStream sout = response.getOutputStream();
                        response.setContentType("application/pdf;");

                        jRPdfExporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
                        jRPdfExporter.setParameter(JRExporterParameter.OUTPUT_WRITER, sout);
                        jRPdfExporter.setParameter(JRPdfExporterParameter.PDF_JAVASCRIPT, "this.print();");

                        request.setAttribute("exportIndentObject", jRPdfExporter);

                        response.setContentType("application/pdf");
                        response.setHeader("Content-disposition","inline; filename=\"myReport.pdf\"");        


                        sout.write(exportReportToPdf);      
                        sout.flush();
                        sout.close();              

                    } catch (JRException ex)
                    {
                        ex.printStackTrace();
                    }

Wenn ich response.redirect(); konnte ich nicht bekommen, auch die index.jsp - Datei im browser .

  • Ihre Antwort wird gehen, wo die Anfrage kommt von
  • Lila:- haben keine Möglichkeit dieses Problem zu beheben ?
InformationsquelleAutor Terance | 2015-06-17
Schreibe einen Kommentar