Bonjour à tous. J'ai un souci sur l'impression avec ireport sur une application J2EE.
Voici le code la méthode qui le fait:
Le serveur Glassfish envoi le message suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 public String imprimer() { try { String reportPath = FacesContext.getCurrentInstance().getExternalContext().getRealPath("Reports/fiche_installation.jasper"); Map parameters = new HashMap(); parameters.put("REPORT_TITLE", ""); parameters.put("generatedcode", unCode.getGeneratedcode()); parameters.put("firstname", uneInstallation.getIdagent().getIduuser().getFirstname()); parameters.put("lastname", uneInstallation.getIdagent().getIduuser().getLastname()); parameters.put("dateprevueinstall", uneInstallation.getDateprevueinstall()); parameters.put("qteappssupcash1", unCredit.getQteappsupcash1()); parameters.put("qtesuppcredit1", unCredit.getQteappsupcredit1()); list.add(uneInstallation); list.add(unCode); list.add(uneInstallation.getIdagent()); list.add(unCredit);*/ List<Installations> list = new ArrayList<Installations>(); list.add(uneInstallation); JRBeanCollectionDataSource data = new JRBeanCollectionDataSource(listInstallations); File file = new File("C:\\Users\\LOCK-DOWN\\Documents\\NetBeansProjects\\uwip2.0.0\\uwip2-war\\web\\Reports\\fiche_installation.jasper"); JasperPrint jasperPrint = JasperFillManager.fillReport(new FileInputStream(file), parameters); HttpServletResponse httpServletResponse = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse(); httpServletResponse.addHeader("Content-disposition", "attachment; filename=fiche_installation.pdf"); ServletOutputStream servletOutputStream = httpServletResponse.getOutputStream(); JasperExportManager.exportReportToPdfStream(jasperPrint, servletOutputStream); servletOutputStream.flush(); servletOutputStream.close(); FacesContext.getCurrentInstance().responseComplete(); msg = "Opération effectuée avec succès"; } catch (Exception e) { e.printStackTrace(); msg = "Echec de l'opération"; } return "installations.xhtml?faces-redirect=true"; }
J'aimerai avoir des éclaircissements svp.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 Grave: log4j:WARN No appenders could be found for logger (net.sf.jasperreports.extensions.ExtensionsEnvironment). Grave: log4j:WARN Please initialize the log4j system properly. Avertissement: PWC3991: getOutputStream() has already been called for this response java.lang.IllegalStateException: PWC3991: getOutputStream() has already been called for this response at org.apache.catalina.connector.Response.getWriter(Response.java:705) at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:225) at com.sun.faces.context.ExternalContextImpl.getResponseOutputWriter(ExternalContextImpl.java:723) at javax.faces.context.ExternalContextWrapper.getResponseOutputWriter(ExternalContextWrapper.java:669) at com.sun.faces.context.PartialViewContextImpl.createPartialResponseWriter(PartialViewContextImpl.java:431) at com.sun.faces.context.PartialViewContextImpl.access$300(PartialViewContextImpl.java:71) at com.sun.faces.context.PartialViewContextImpl$DelayedInitPartialResponseWriter.getWrapped(PartialViewContextImpl.java:582) at javax.faces.context.PartialResponseWriter.startDocument(PartialResponseWriter.java:115) at org.primefaces.context.PrimePartialResponseWriter.startDocument(PrimePartialResponseWriter.java:102) at org.richfaces.context.PartialResponseWriterWrapper.startDocument(PartialResponseWriterWrapper.java:32) at com.sun.faces.context.ExternalContextImpl.redirect(ExternalContextImpl.java:572) at javax.faces.context.ExternalContextWrapper.redirect(ExternalContextWrapper.java:462) at com.sun.faces.application.NavigationHandlerImpl.handleNavigation(NavigationHandlerImpl.java:182) at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:130) at javax.faces.component.UICommand.broadcast(UICommand.java:315) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794) at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:935) at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231) at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860) at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757) at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056) at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229) at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90) at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79) at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59) at com.sun.grizzly.ContextTask.run(ContextTask.java:71) at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) at java.lang.Thread.run(Thread.java:744)
Partager