com.sun.faces.context.PartialViewContextImpl.createPartialResponseWriter上的java.lang.NullPointerException [英] java.lang.NullPointerException at com.sun.faces.context.PartialViewContextImpl.createPartialResponseWriter

查看:146
本文介绍了com.sun.faces.context.PartialViewContextImpl.createPartialResponseWriter上的java.lang.NullPointerException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我的JSF 2应用程序在JBoss AS 7.1一个PrimeFaces 5.1 datatable与延迟加载,它排序在页面加载,所以我知道我的排序实现工作,但是当我点击列排序它会抛出以下异常。

  17:48:34,855错误[org.apache.catalina.core.ContainerBase。[jboss.web]。[default-主机] [/ feenix]。[Faces Servlet]](http- / 0:0:0:0:0:0:0:0:8080-6)JBWEB000236:servlet的Servlet.service()Faces Servlet抛出异常:
java.lang.NullPointerException
在com.sun.faces.context.PartialViewContextImpl.createPartialResponseWriter(PartialViewContextImpl.java:469)[jsf-impl-2.1.28.redhat-3.jar:2.1。 28.redhat-3]
在com.sun.faces.context.PartialViewContextImpl.access $ 300(PartialViewContextImpl.java:76)[jsf-impl-2.1.28.redhat-3.jar:2.1.28.redhat -3]
在com.sun.faces.context.PartialViewContextImpl $ DelayedInitPartialResponseWriter.getWrapped(PartialViewContextImpl.java:603)[jsf-impl-2.1.28.redhat-3.jar:2.1.28.redhat-3 ]
在javax.faces.context.PartialResponseWriter.startDocument(PartialResponseWriter.java:115)[jboss-jsf-api_2.1_spec-2.1.28.Final-redhat-1.jar:2.1.28.Final-redhat-1 ]
在org.primefaces.context.PrimePartialResponseWriter.startDocument(PrimePartialResponseWriter.java:152)[primefaces-5.1.jar:5.1]
在com.sun.faces.context.AjaxExceptionHandlerImpl.handlePartialResponseError(AjaxExceptionHandlerImpl。 java:201)[jsf-impl-2.1.28.redhat-3.jar:2.1.28.redhat-3]
在com.sun.faces.context.AjaxExceptionHandlerImpl.handle(AjaxExceptionHandlerImpl.java:126) [jsf-impl-2.1.28.redhat-3.jar:2.1.28.redhat-3]
在com.sun.faces.lifecycle.Phase.doPhase(Phase.java:119)[jsf-impl -2.1.28.redhat-3.jar:2.1.28.redhat-3]
在com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:116)[jsf-impl-2.1.28 .redhat-3.jar:2.1.28.redhat-3]
在com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)[jsf-impl-2.1.28.redhat-3 .jar:2.1.28.redhat- 3]
在javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)[jboss-jsf-api_2.1_spec-2.1.28.Final-redhat-1.jar:2.1.28.Final- redhat-1]
在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)[jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat- 4]
在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)[jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231)[jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)[jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
在org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(webnonTxEmCloserValve.java:50)[jboss-as-jpa-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]
在org.jboss.as.jpa.interceptor.WebNonTxEmCl oserValve.invoke(WebNonTxEmCloserValve.java:50)[jboss-as-jpa-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]
在org.jboss.as。 web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)[jboss-as-web-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]
在org。 apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145)[jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
在org.apache。 catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)[jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
在org.apache.catalina。 core.StandardEngineValve.invoke(StandardEngineValve.java:102)[jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
在org.apache.catalina.connector。 CoyoteAdapter.service(CoyoteAdapter.java:344)[jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
在org.apache.coyote.http11.Http11Processor。进程(Http11Processor.java:856)[jbossweb-7.4.8.Final-redhat-4。 jar:7.4.8.Final-redhat-4]
在org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:653)[jbossweb-7.4.8.Final-redhat-4。 jar:7.4.8.Final-redhat-4]
在org.apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:926)[jbossweb-7.4.8.Final-redhat- 4.jar:7.4.8.Final-redhat-4]
在java.lang.Thread.run(Thread.java:724)[rt.jar:1.7.0_25]

我的数据表:

  ; p:dataTable var =registroDvalue =#{reportesdiario}paginator =truerows =10rowsPerPageTemplate =10,20,40,80id =registroDiarioTablelazy =true 
paginatorTemplate ={RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}>
< p:column headerText =Fecha>
< h:outputText value =#{registroD.fechaRegistro}>
< f:convertDateTime pattern =yyyy / MM / ddtype =date/>
< / h:outputText>
< / p:column>
< p:column headerText =Nombre AsesorsortBy =#{registroD.idTrabajo.idUsuario.nombres}filterBy =#{registroD.idTrabajo.idUsuario.nombres}>
< h:outputText value =#{registroD.idTrabajo.idUsuario.nombres}/>
< / p:column>
< p:column headerText =Apellido AsesorsortBy =#{registroD.idTrabajo.idUsuario.apellidos}filterBy =#{registroD.idTrabajo.idUsuario.apellidos}>
< h:outputText value =#{registroD.idTrabajo.idUsuario.apellidos}/>
< / p:column>
< p:column headerText =Lugar entregasortBy =#{registroD.idTrabajo.idUbicacion.direccion}filterBy =#{registroD.idTrabajo.idUbicacion.direccion}>
< h:outputText value =#{registroD.idTrabajo.idUbicacion.direccion}/>
< / p:column>
< p:column headerText =Hora entrega>
< h:outputText value =#{registroD.fechaRegistro}>
< f:convertDateTime pattern =HH:mm:sstype =time/>
< / h:outputText>
< / p:column>
< p:column headerText =NombresortBy =#{registroD.numero.nombres}filterBy =#{registroD.numero.nombres}>
< h:outputText value =#{registroD.numero.nombres}/>
< / p:column>
< p:column headerText =ApellidosortBy =#{registroD.numero.apellidos}filterBy =#{registroD.numero.apellidos}>
< h:outputText value =#{registroD.numero.nombres}/>
< / p:column>
< p:column headerText =Numero CelularsortBy =#{registroD.numero.numero}filterBy =#{registroD.numero.numero}>
< h:outputText value =#{registroD.numero.numero}/>
< / p:column>
< p:column headerText =ProductosortBy =#{registroD.producto}filterBy =#{registroD.producto}>
< h:outputText value =#{registroD.producto}/>
< / p:column>
< / p:dataTable>

这个错误与我所做的动作无关(对我来说似乎是这样) p>

发生了什么?

解决方案

堆栈跟踪告诉这个异常在ajax请求的还原视图阶段处理异常时发生。这是第二个问题,遗憾的是隐藏了关于JSF尝试处理的底层异常的所有细节,因此只有在修复/替换标准异常处理程序之前,只需查看堆栈跟踪才能回答此问题。 p>

如果升级到最新的Mojarra版本不能解决,那么您可以(暂时)使用本答案中显示的那个来打印真正的底层异常的堆栈跟踪: a href =http://stackoverflow.com/questions/27526753/exception-stack-trace-in-jsf-ajax-requests/27532827#27532827> JSF中的异常处理ajax请求。这应该反过来给出关于真正潜在问题的充分线索。


I have in my JSF 2 app on JBoss AS 7.1 a PrimeFaces 5.1 datatable with lazy loading and it sorts on page load, so I know my sorting implementation works, but when I click the column to sort it throws the below exception.

17:48:34,855 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/feenix].[Faces Servlet]] (http-/0:0:0:0:0:0:0:0:8080-6) JBWEB000236: Servlet.service() for servlet Faces Servlet threw exception: 
java.lang.NullPointerException
    at com.sun.faces.context.PartialViewContextImpl.createPartialResponseWriter(PartialViewContextImpl.java:469) [jsf-impl-2.1.28.redhat-3.jar:2.1.28.redhat-3]
    at com.sun.faces.context.PartialViewContextImpl.access$300(PartialViewContextImpl.java:76) [jsf-impl-2.1.28.redhat-3.jar:2.1.28.redhat-3]
    at com.sun.faces.context.PartialViewContextImpl$DelayedInitPartialResponseWriter.getWrapped(PartialViewContextImpl.java:603) [jsf-impl-2.1.28.redhat-3.jar:2.1.28.redhat-3]
    at javax.faces.context.PartialResponseWriter.startDocument(PartialResponseWriter.java:115) [jboss-jsf-api_2.1_spec-2.1.28.Final-redhat-1.jar:2.1.28.Final-redhat-1]
    at org.primefaces.context.PrimePartialResponseWriter.startDocument(PrimePartialResponseWriter.java:152) [primefaces-5.1.jar:5.1]
    at com.sun.faces.context.AjaxExceptionHandlerImpl.handlePartialResponseError(AjaxExceptionHandlerImpl.java:201) [jsf-impl-2.1.28.redhat-3.jar:2.1.28.redhat-3]
    at com.sun.faces.context.AjaxExceptionHandlerImpl.handle(AjaxExceptionHandlerImpl.java:126) [jsf-impl-2.1.28.redhat-3.jar:2.1.28.redhat-3]
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:119) [jsf-impl-2.1.28.redhat-3.jar:2.1.28.redhat-3]
    at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:116) [jsf-impl-2.1.28.redhat-3.jar:2.1.28.redhat-3]
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) [jsf-impl-2.1.28.redhat-3.jar:2.1.28.redhat-3]
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) [jboss-jsf-api_2.1_spec-2.1.28.Final-redhat-1.jar:2.1.28.Final-redhat-1]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
    at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]
    at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]
    at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
    at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]

My data table:

<p:dataTable var="registroD" value="#{reportes.diario}" paginator="true" rows="10" rowsPerPageTemplate="10,20,40,80" id="registroDiarioTable" lazy="true"
                                     paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}">
    <p:column headerText="Fecha">
        <h:outputText value="#{registroD.fechaRegistro}">
            <f:convertDateTime pattern="yyyy/MM/dd" type="date"/>
        </h:outputText>
    </p:column>
    <p:column headerText="Nombre Asesor" sortBy="#{registroD.idTrabajo.idUsuario.nombres}" filterBy="#{registroD.idTrabajo.idUsuario.nombres}">
        <h:outputText value="#{registroD.idTrabajo.idUsuario.nombres}"/>
    </p:column>
    <p:column headerText="Apellido Asesor" sortBy="#{registroD.idTrabajo.idUsuario.apellidos}" filterBy="#{registroD.idTrabajo.idUsuario.apellidos}">
        <h:outputText value="#{registroD.idTrabajo.idUsuario.apellidos}"/>
    </p:column>
    <p:column headerText="Lugar entrega" sortBy="#{registroD.idTrabajo.idUbicacion.direccion}" filterBy="#{registroD.idTrabajo.idUbicacion.direccion}">
        <h:outputText value="#{registroD.idTrabajo.idUbicacion.direccion}"/>
    </p:column>
    <p:column headerText="Hora entrega">
        <h:outputText value="#{registroD.fechaRegistro}">
            <f:convertDateTime pattern="HH:mm:ss" type="time"/>
        </h:outputText>
    </p:column>
    <p:column headerText="Nombre" sortBy="#{registroD.numero.nombres}" filterBy="#{registroD.numero.nombres}">
        <h:outputText value="#{registroD.numero.nombres}"/>
    </p:column>
    <p:column headerText="Apellido" sortBy="#{registroD.numero.apellidos}" filterBy="#{registroD.numero.apellidos}">
        <h:outputText value="#{registroD.numero.nombres}"/>
    </p:column>
    <p:column headerText="Numero Celular" sortBy="#{registroD.numero.numero}" filterBy="#{registroD.numero.numero}">
        <h:outputText value="#{registroD.numero.numero}" />
    </p:column>
    <p:column headerText="Producto" sortBy="#{registroD.producto}" filterBy="#{registroD.producto}">
        <h:outputText value="#{registroD.producto}"/>
    </p:column>
</p:dataTable>

This error has nothing to do (seems to me that way) with the actions I do.

What is going on?

解决方案

The stack trace tells that this exception occurred while handling an exception during restore view phase of an ajax request. This is a second problem which has unfortunately hidden away all detail about the underlying exception which JSF was trying to handle, so this question can't be answered by just looking at the stack trace until you fix/replace the standard exception handler.

If upgrading to latest Mojarra version doesn't solve it, then you can (temporarily) use the one shown in this answer to print the stack trace of the real underlying exception: Exception handling in JSF ajax requests. That should in turn give sufficient clues about the real underlying problem.

这篇关于com.sun.faces.context.PartialViewContextImpl.createPartialResponseWriter上的java.lang.NullPointerException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆