I'm trying to use the DocumentViewer feature of PrimeFaces (5.3) Extensions (version 4.0.0), and I'm getting an error.
In the view (xhtml) I got a dialog that loads the document viewer with a commandbutton
Code: Select all
<p:commandButton value="#{languaje.generalButtonPrint}" onclick="" oncomplete="PF('previewPDF').show(); PF('confirmPrint').hide()" actionListener="#{batchPrintController.loadPDF()}">
<p:ajax process="@form" event="click" update="previewPDF" />
</p:commandButton>
...
<p:dialog header="#{languaje.generalLabelConfirm}" widgetVar="previewPDF" modal="true" resizable="false" closable="false" width="60%" draggable="false" >
<h:form id="previewPDF">
<p:panelGrid columns="2" styleClass="formSearch noBorders contentCenter" >
<!-- <object type="application/pdf" data="../../resources/files/guide.pdf#toolbar=1&navpanes=0&scrollbar=1&page=3&view=FitV" height="300px" width="100%" internalinstanceid="13">
Your browser can't display pdf
</object> -->
<pe:documentViewer height="500" value="#{batchPrintController.pdfContent}" />
</p:panelGrid>
<p:panelGrid columns="2" styleClass="formSearch noBorders contentCenter" >
<p:commandButton value="#{languaje.generalButtonAccept}" onclick="PF('confirmStatusPrint').show();" oncomplete="PF('previewPDF').hide()"/>
</p:panelGrid>
</h:form>
</p:dialog>
Code: Select all
@ManagedBean
@SessionScoped
public class BatchPrintController {
...
StreamedContent pdfContent;
...
getters & setters
...
public void loadPDF() {
try {
in = new FileInputStream(new File("D:/temp/E.pdf"));
pdfContent = new DefaultStreamedContent(in);
in.close();
} catch (FileNotFoundException ex) {
Logger.getLogger(BatchPrintController.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(BatchPrintController.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
And the error that I got is:
13:16:19,542 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/shoppingProd].[Faces Servlet]] (http-/127.0.0.1:8080-2) JBWEB000236: Servlet.service() for servlet Faces Servlet threw exception: java.io.IOException: java.lang.NullPointerException
at org.primefaces.application.resource.StreamedContentHandler.handle(StreamedContentHandler.java:94) [primefaces-5.3.jar:5.3]
at org.primefaces.application.resource.PrimeResourceHandler.handleResourceRequest(PrimeResourceHandler.java:95) [primefaces-5.3.jar:5.3]
at javax.faces.application.ResourceHandlerWrapper.handleResourceRequest(ResourceHandlerWrapper.java:125) [jboss-jsf-api_2.1_spec-2.1.18.Final.jar:2.1.18.Final]
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:591) [jboss-jsf-api_2.1_spec-2.1.18.Final.jar:2.1.18.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.2.0.Final.jar:7.2.0.Final]
at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.2.0.Final.jar:7.2.0.Final]
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]
Caused by: java.lang.NullPointerException
at com.sun.faces.mgbean.BeanManager$ScopeManager$ViewScopeHandler.getFromScope(BeanManager.java:565) [jsf-impl-2.1.18-jbossorg-1.jar:]
at com.sun.faces.mgbean.BeanManager$ScopeManager.getFromScope(BeanManager.java:476) [jsf-impl-2.1.18-jbossorg-1.jar:]
at com.sun.faces.mgbean.BeanManager.getBeanFromScope(BeanManager.java:239) [jsf-impl-2.1.18-jbossorg-1.jar:]
at com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:242) [jsf-impl-2.1.18-jbossorg-1.jar:]
at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:116) [jsf-impl-2.1.18-jbossorg-1.jar:]
at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176) [jsf-impl-2.1.18-jbossorg-1.jar:]
at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203) [jsf-impl-2.1.18-jbossorg-1.jar:]
at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:72) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.el.parser.AstValue.getValue(AstValue.java:144) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
at org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:50) [weld-core-1.1.10.Final.jar:2012-10-12 10:00]
at org.primefaces.application.resource.StreamedContentHandler.handle(StreamedContentHandler.java:58) [primefaces-5.3.jar:5.3]
... 18 more