2012-06-15 4 views
4

У меня есть контроллер bean и объект, который имеет атрибут String и Boolean. Когда я хочу изменить страницу своей ленивой dataTable (primefaces), у меня есть эта ошибка. Если я тестирую список строк, а не список моего объекта как данных, у меня нет этой ошибки. Может кто-нибудь мне помочь?ошибка jsf/perffaces: serializable arraylist не работает

uin 14, 2012 4:19:19 PM com.sun.faces.application.view.FaceletViewHandlingStrategy                 handleRenderException 
SEVERE: Error Rendering View[/List.xhtml] 
java.io.NotSerializableException: java.util.ArrayList$SubList 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180) 
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) 
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) 
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) 
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) 
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) 
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) 
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346) 
at java.util.HashMap.writeObject(HashMap.java:1014) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:601) 
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:975) 
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480) 
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) 
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) 
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) 
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) 
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1362) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1170) 
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1362) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1170) 
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346) 
at com.sun.faces.renderkit.ClientSideStateHelper.doWriteState(ClientSideStateHelper.java:325) 
at com.sun.faces.renderkit.ClientSideStateHelper.writeState(ClientSideStateHelper.java:173) 
at com.sun.faces.renderkit.ResponseStateManagerImpl.writeState(ResponseStateManagerImpl.java:122) 
at com.sun.faces.application.StateManagerImpl.writeState(StateManagerImpl.java:166) 
at com.sun.faces.application.view.WriteBehindStateWriter.flushToWriter(WriteBehindStateWriter.java:225) 
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:419) 
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:125) 
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121) 
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) 
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) 
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
at java.lang.Thread.run(Thread.java:722) 

juin 14, 2012 4:19:19 PM com.sun.faces.context.ExceptionHandlerImpl throwIt 
INFO: Exception when handling error trying to reset the response. 
java.io.NotSerializableException: java.util.ArrayList$SubList 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180) 
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) 
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) 
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) 
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) 
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) 
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) 
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346) 
at java.util.HashMap.writeObject(HashMap.java:1014) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:601) 
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:975) 
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480) 
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) 
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) 
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) 
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) 
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1362) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1170) 
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1362) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1170) 
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346) 
at com.sun.faces.renderkit.ClientSideStateHelper.doWriteState(ClientSideStateHelper.java:325) 
at com.sun.faces.renderkit.ClientSideStateHelper.writeState(ClientSideStateHelper.java:173) 
at com.sun.faces.renderkit.ResponseStateManagerImpl.writeState(ResponseStateManagerImpl.java:122) 
at com.sun.faces.application.StateManagerImpl.writeState(StateManagerImpl.java:166) 
at com.sun.faces.application.view.WriteBehindStateWriter.flushToWriter(WriteBehindStateWriter.java:225) 
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:419) 
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:125) 
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121) 
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) 
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) 
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
at java.lang.Thread.run(Thread.java:722) 

juin 14, 2012 4:19:19 PM com.sun.faces.renderkit.RenderKitUtils renderHtmlErrorPage 
WARNING: JSF1087: Unable to generate Facelets error page as the response has already been committed. 
juin 14, 2012 4:19:19 PM com.sun.faces.renderkit.RenderKitUtils renderHtmlErrorPage 
SEVERE: javax.faces.FacesException: java.util.ArrayList$SubList 
javax.faces.FacesException: java.util.ArrayList$SubList 
at com.sun.faces.context.ExceptionHandlerImpl.handle(ExceptionHandlerImpl.java:142) 
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:119) 
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) 
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
at java.lang.Thread.run(Thread.java:722) 
Caused by: java.io.NotSerializableException: java.util.ArrayList$SubList 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180) 
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) 
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) 
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) 
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) 
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) 
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) 
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346) 
at java.util.HashMap.writeObject(HashMap.java:1014) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:601) 
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:975) 
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480) 
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) 
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) 
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) 
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) 
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1362) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1170) 
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1362) 
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1170) 
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346) 
at com.sun.faces.renderkit.ClientSideStateHelper.doWriteState(ClientSideStateHelper.java:325) 
at com.sun.faces.renderkit.ClientSideStateHelper.writeState(ClientSideStateHelper.java:173) 
at com.sun.faces.renderkit.ResponseStateManagerImpl.writeState(ResponseStateManagerImpl.java:122) 
at com.sun.faces.application.StateManagerImpl.writeState(StateManagerImpl.java:166) 
at com.sun.faces.application.view.WriteBehindStateWriter.flushToWriter(WriteBehindStateWriter.java:225) 
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:419) 
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:125) 
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121) 
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) 
... 18 more 

juin 14, 2012 4:19:25 PM com.sun.faces.renderkit.ClientSideStateHelper doGetState 
SEVERE: Not in GZIP format 
java.util.zip.ZipException: Not in GZIP format 
at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:164) 
at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:78) 
at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:90) 
at com.sun.faces.renderkit.ClientSideStateHelper.doGetState(ClientSideStateHelper.java:231) 
at com.sun.faces.renderkit.ClientSideStateHelper.getState(ClientSideStateHelper.java:198) 
at com.sun.faces.renderkit.ResponseStateManagerImpl.getState(ResponseStateManagerImpl.java:100) 
at com.sun.faces.application.StateManagerImpl.restoreView(StateManagerImpl.java:192) 
at com.sun.faces.application.view.ViewHandlingStrategy.restoreView(ViewHandlingStrategy.java:123) 
at com.sun.faces.application.view.FaceletViewHandlingStrategy.restoreView(FaceletViewHandlingStrategy.java:453) 
at com.sun.faces.application.view.MultiViewHandler.restoreView(MultiViewHandler.java:142) 
at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:192) 
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) 
at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:116) 
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) 
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
at java.lang.Thread.run(Thread.java:722) 

juin 14, 2012 4:19:25 PM org.apache.catalina.core.StandardWrapperValve invoke 
SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path [] threw exception 
java.lang.NullPointerException 
at com.sun.faces.context.PartialViewContextImpl.createPartialResponseWriter(PartialViewContextImpl.java:441) 
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:205) 
at com.sun.faces.context.AjaxExceptionHandlerImpl.handlePartialResponseError(AjaxExceptionHandlerImpl.java:199) 
at com.sun.faces.context.AjaxExceptionHandlerImpl.handle(AjaxExceptionHandlerImpl.java:123) 
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:119) 
at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:116) 
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) 
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
at java.lang.Thread.run(Thread.java:722)` 
+0

Предоставленной информации недостаточно. Отправьте свой код. – perissf

ответ

12

В каком-то момент вы используете что-то вроде: x = myArrayList.subList(a,b));

После этого й не будет сериализаций как объект Подсписка вернулся из Подсписка() не реализует его. Вместо этого попробуйте сделать x = new ArrayList(myArrayList.subList(a,b)));.

+0

Спасибо, что так много. Это сэкономило много времени. –

Смежные вопросы