1 2 Previous Next 21 Replies Latest reply on Jan 18, 2011 11:53 AM by vata2999

    Seam with JSF and Jasper Reports

    tazz786

      Hi
      Could someone please help me with regards to an example or explanation of how to use Jasper Reports with Seam and JSF? I am using iReport to generate my jrxml, I just need to know how to render the report from a jsf in a web app that uses seam.


      Thanking you

        • 1. Re: Seam with JSF and Jasper Reports
          vvelikodny

          1. {controller.exportToPDF}



          and in your controller output generated pdf file to response output

          • 2. Re: Seam with JSF and Jasper Reports
            giomiano

            Hope it helps :)


            InputStream reportTemplate = this.getClass().getClassLoader().getResourceAsStream("quote_orderform.jrxml");
            Map<String, Object> parameters = new HashMap<String, Object>();
            // parameters.put(JRJpaQueryExecuterFactory.PARAMETER_JPA_ENTITY_MANAGER,entityManager);
            
            JasperReport jasperReport;
            JasperPrint jasperPrint;
            JasperDesign jasperDesign;
            
            parameters.put("param_01", "value of your param");
            parameters.put("param_02", "value of your param");
            parameters.put("param_03", "value of your param");
            
            
            byte[] pdf = null;
            
            try {
                 jasperDesign = JRXmlLoader.load(reportTemplate);
                 jasperReport = JasperCompileManager.compileReport(jasperDesign);
                 jasperPrint = JasperFillManager.fillReport(jasperReport,
                 parameters, new JREmptyDataSource());
                 pdf = JasperExportManager.exportReportToPdf(jasperPrint);
            } catch (JRException e) {
                 //handle error
            }
            
            FacesContext context = FacesContext.getCurrentInstance();
            HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
            
            try {
                 OutputStream os = response.getOutputStream();
                 response.setContentType("application/pdf"); // fill in
                 // contentType
                 response.setContentLength(pdf.length);
                 response.setHeader("Content-disposition", "attachment; filename=\""+ "_nameOFile.pdf\"");
                 os.write(pdf); // fill in bytes
                 os.flush();
                 os.close();
            context.responseComplete();
            } catch (IOException e) {
                 //handle error
            }


            • 3. Re: Seam with JSF and Jasper Reports
              tazz786
              Hi

              Thank-you so much. This is exactly what i was looking for. You are a star!!!! Your help is much appreciated. I have done the above code, but I think there may be something wrong with my classpaths. I ran the code above but am getting
              14:30:15,531 ERROR [application] javax.ejb.EJBTransactionRolledbackException: java.lang.NoClassDefFoundError: org/apache/commons/digester/Digester
              javax.faces.el.EvaluationException: javax.ejb.EJBTransactionRolledbackException: java.lang.NoClassDefFoundError: org/apache/commons/digester/Digester
                   at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
                   at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
                   at javax.faces.component.UICommand.broadcast(UICommand.java:387)
                   at org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
                   at org.ajax4jsf.component.UIDataAdaptor.broadcast(UIDataAdaptor.java:1383)
                   at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
                   at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296)
                   at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)......

              Do you have any ideas what this could be. I have the commons-digester jar in my classpath, but the error is still there...

              Thanking you
              • 4. Re: Seam with JSF and Jasper Reports
                giomiano

                Are you sure that is in your ear-lib ?

                • 5. Re: Seam with JSF and Jasper Reports

                  My solution is pretty much same as Giovannis with two differences. First, I compile my jasper report upfront as opposed to compiling it during runtime. Second, terminate jsf lifecycle by signalling that response is already generated for this request. Of course you also have to make sure you have the missing library in your classpath. Good Luck.



                       public void runRankReport() {
                            try {
                                Map parameters = new HashMap();
                                parameters.put("Title", "The Rank Report");
                                 
                                JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(getResultList());
                                byte[] bytes = JasperRunManager.runReportToPdf(this.getClass().getResourceAsStream("/rank.jasper"), parameters, ds);
                                HttpServletResponse response = (HttpServletResponse)facesContext.getExternalContext().getResponse();
                                response.setContentType("application/pdf");
                                response.addHeader("Content-Disposition","attachment;filename=RankReport.pdf");
                                response.setContentLength(bytes.length);
                                ServletOutputStream servletOutputStream = response.getOutputStream();
                                servletOutputStream.write(bytes, 0, bytes.length);
                                servletOutputStream.flush();
                                servletOutputStream.close();
                                FacesContext.getCurrentInstance().responseComplete();
                            } catch (JRException jre) {
                                 jre.printStackTrace();
                            } catch (IOException e) {
                                 e.printStackTrace();
                            }
                       }


                  • 6. Re: Seam with JSF and Jasper Reports
                    tazz786

                    Apologies. It was in the ear file, but not in the ear/lib directory. copied it over, and the error is no more!!! thanks again. I seriously think I have classpath issues...I am yet to trouble you again...I am getting another error... :(


                    net.sf.jasperreports.engine.JRException: Class net.sf.jasperreports.engine.xml.JRReportSaxParserFactory should be compatible with net.sf.jasperreports.engine.xml.JRSaxParserFactory
                         at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
                         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
                         at javax.faces.component.UICommand.broadcast(UICommand.java:387)



                    Any ideas pleeeeeez?

                    • 7. Re: Seam with JSF and Jasper Reports
                      tazz786

                      Firstly, apologies for the rating. I did not know how to rank it, so I clicked on the first star...It now kept it. In reality,....the ranking is definately 5 stars..


                      Thank-you very much for your code. I really do appreciate it, and I know that it is helping me...


                      Thanks again...
                      Tasneem

                      • 8. Re: Seam with JSF and Jasper Reports
                        tazz786
                        Hi

                        I really need help on this..pleeeez...
                        I used the same code as you have above...I am getting this error.

                        16:10:13,093 ERROR [application] javax.ejb.EJBTransactionRolledbackException
                        javax.faces.el.EvaluationException: javax.ejb.EJBTransactionRolledbackException
                             at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
                             at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
                             at javax.faces.component.UICommand.broadcast(UICommand.java:387)
                             at org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
                             at org.ajax4jsf.component.UIDataAdaptor.broadcast(UIDataAdaptor.java:1383)
                             at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321)
                             at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296)
                             at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253)
                             at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466)
                             at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
                             at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
                             at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
                             at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
                             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                             at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:532)
                             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                             at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
                             at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
                             at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                             at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
                             at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                             at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
                             at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                             at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
                             at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
                             at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390)
                             at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)
                             at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
                             at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                             at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
                             at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                             at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
                             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                             at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
                             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                             at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
                             at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
                             at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
                             at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
                             at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
                             at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
                             at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                             at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
                             at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                             at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
                             at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
                             at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
                             at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
                             at java.lang.Thread.run(Thread.java:619)
                        Caused by: javax.ejb.EJBTransactionRolledbackException
                             at org.jboss.ejb3.tx.Ejb3TxPolicy.handleInCallerTx(Ejb3TxPolicy.java:87)
                             at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:130)
                             at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
                             at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                             at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:95)
                             at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                             at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
                             at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                             at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
                             at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
                             at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                             at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
                             at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                             at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
                             at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
                             at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:240)
                             at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:210)
                             at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:84)
                             at $Proxy157.doJasperReportForUsersForSurvey(Unknown Source)
                             at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                             at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                             at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                             at java.lang.reflect.Method.invoke(Method.java:597)
                             at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
                             at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
                             at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76)
                             at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
                             at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
                             at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54)
                             at org.javassist.tmp.java.lang.Object_$$_javassist_8.doJasperReportForUsersForSurvey(Object_$$_javassist_8.java)
                             at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                             at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                             at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                             at java.lang.reflect.Method.invoke(Method.java:597)
                             at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:328)
                             at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:273)
                             at org.jboss.el.parser.AstMethodSuffix.getValue(AstMethodSuffix.java:59)
                             at org.jboss.el.parser.AstMethodSuffix.invoke(AstMethodSuffix.java:65)
                             at org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
                             at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
                             at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
                             at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
                             ... 52 more
                        Caused by: java.lang.NullPointerException
                             at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2266)
                             at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2279)
                             at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2750)
                             at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780)
                             at java.io.ObjectInputStream.<init>(ObjectInputStream.java:280)
                             at net.sf.jasperreports.engine.util.ContextClassLoaderObjectInputStream.<init>(ContextClassLoaderObjectInputStream.java:57)
                             at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:195)
                             at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:580)
                             at net.sf.jasperreports.engine.JasperRunManager.runReportToPdf(JasperRunManager.java:402)
                             at com.ericsson.mst.admin.report.SurveySearchActionBean.doJasperReportForUsersForSurvey(SurveySearchActionBean.java:165)


                        I have copied my jasper file in the same location(package) as the java class i am running the code from.
                        I was not sure if it supposed to be in my web project.. ?

                        This is my code:


                        try {
                                       Collection<SurveyEntity> col = surveyManager.getAllSurveys();
                                        JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(col);
                                           byte[] bytes = JasperRunManager.runReportToPdf(this.getClass().getResourceAsStream("/UsersForSurvey.jasper"), parameters, ds);
                                       
                                      HttpServletResponse response = (HttpServletResponse)facesContext.getExternalContext().getResponse();
                                      response.setContentType("application/pdf");
                                      response.addHeader("Content-Disposition","attachment;filename=RankReport.pdf");
                                      response.setContentLength(bytes.length);
                                      ServletOutputStream servletOutputStream = response.getOutputStream();
                                      servletOutputStream.write(bytes, 0, bytes.length);
                                      servletOutputStream.flush();
                                      servletOutputStream.close();
                                      FacesContext.getCurrentInstance().responseComplete();

                        Could you please help me...

                        Thanking you
                        • 9. Re: Seam with JSF and Jasper Reports

                          It is clear from the error message that your code cannot find UsersForSurvey.jasper file.


                          How are you packaging your application? Using build file from seam-gen? If you are then look for



                          <target name="jar" depends="compile,copyclasses" 
                                                  description="Build the distribution .jar file">
                                          <copy todir="${jar.dir}">
                                                  <fileset dir="${basedir}/resources">
                                                          <include name="seam.properties" />
                                                          <include name="*.drl" />
                                                  </fileset>




                          Right below that add the following snippet.



                          <fileset dir="${src.action.dir}/com/ericsson/mst/admin/report">
                                                         <include name="*.jasper"/>
                                                    </fileset>



                          Point dir to appropriate location.






                          • 10. Re: Seam with JSF and Jasper Reports
                            tazz786
                            Hi

                            Thank-you for the reply. I have not tried your solution as yet. But what I was doing since yesterday, was checking the jars included in my classpath...I am not getting a different error from the one above. I think that I may be missing some jars... Please can you advise me as to what jars i should have...

                            The error I am getting now is

                            Caused by: java.lang.ExceptionInInitializerError
                                 at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:147)
                                 at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:83)
                                 at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601)
                                 at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:517)
                                 at com.ericsson.mst.admin.report.SurveySearchActionBean.doJasperReportForUsersForSurvey(SurveySearchActionBean.java:165)
                                 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                                 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                                 at java.lang.reflect.Method.invoke(Method.java:597)
                                 at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
                                 at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
                                 ... 117 more
                            Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Log4JLogger does not implement Log
                                 at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:555)
                                 at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:289)
                                 at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:259)
                                 at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:390)
                                 at net.sf.jasperreports.engine.fill.JRBaseFiller.<clinit>(JRBaseFiller.java:95)
                                 ... 128 more
                            Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Log4JLogger does not implement Log
                                 at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:420)
                                 at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:548)
                                 ... 132 more
                            Caused by: org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Log4JLogger does not implement Log
                                 at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:416)
                                 ... 133 more


                            Thanking you

                            PS I have the commons-logging....jars in my app as well...
                            • 11. Re: Seam with JSF and Jasper Reports
                              tazz786
                              Hi

                              I figured out what was wrong regarding log4j error. i had an earlier version of commons_logging...jar.Replaced with 1.1.1 and error is no more. I am now getting this error...Any help would be really appreciated pleeeez...

                              Caused by: java.lang.ExceptionInInitializerError
                                      at net.sf.jasperreports.engine.util.JRStyledTextParser.<clinit>(JRStyledTextParser.java:81)
                                      at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:175)
                                      at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:77)
                                      at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:59)
                                      at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:147)
                                      at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:83)
                                      at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601)
                                      at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:517)
                                      at com.ericsson.mst.admin.report.SurveySearchActionBean.doJasperReportForUsersForSurvey(SurveySearchActionBean.java:180)
                                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                                      at java.lang.reflect.Method.invoke(Method.java:597)
                                      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
                                      at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
                                      ... 117 more
                              Caused by: net.sf.jasperreports.engine.JRRuntimeException: Class net.sf.jasperreports.extensions.DefaultExtensionsRegistry does not implement/extend net.sf.jasperreports.extensions.ExtensionsRegistry
                                      at net.sf.jasperreports.engine.util.ClassUtils.instantiateClass(ClassUtils.java:60)
                                      at net.sf.jasperreports.extensions.ExtensionsEnvironment.createDefaultRegistry(ExtensionsEnvironment.java:84)
                                      at net.sf.jasperreports.extensions.ExtensionsEnvironment.<clinit>(ExtensionsEnvironment.java:72)
                              • 12. Re: Seam with JSF and Jasper Reports
                                tazz786

                                hi


                                I tried sending this reply numerous times, but was not sure if you got it. I am using your code to send jasper report to the outputstream. I am getting a whole lot of characters showing up on my web page.


                                Any ideas pleez

                                • 13. Re: Seam with JSF and Jasper Reports
                                  rfcmahesh

                                  I followed the same approach and I get some weird characters on the browserwhen I set the content type as pdf. but for html it works fine. Can some one please give some pointers.


                                  Thanks,

                                  • 14. Re: Seam with JSF and Jasper Reports
                                    tazz786

                                    Hi


                                    I discovered yesterday evening (after a whole day of checking what was wrong) :(, that when I used a a4j:commandLink to invoke the action, then the funny characters appeared, but when I used h:commandButton it worked fine... 

                                    Hope this helps you

                                    1 2 Previous Next