<rich:graphValidator> and NotSerializableException
vrelits Mar 1, 2011 3:36 AMHi!
Trying <rich:graphValidator) in RF 4-M6, but always gets:
java.io.NotSerializableException: org.richfaces.validator.BeanValidatorServiceImpl
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1346)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1154)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
at java.util.HashMap.writeObject(HashMap.java:1195)
at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
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:124)
at com.sun.faces.application.StateManagerImpl.writeState(StateManagerImpl.java:161)
at com.sun.faces.application.view.WriteBehindStateWriter.flushToWriter(WriteBehindStateWriter.java:225)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:416)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:134)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:275)
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:313)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:2
I've tried putting implements Serialiable on bean but to no avail.
xhtml:
<rich:collapsiblePanel header="#{dps_msgs['filter']}" switchType="client">
<rich:graphValidator value="#{adminLogController.form}">
<rich:messages/>
<h:panelGrid columns="2">
<h:outputLabel value="#{dps_msgs['from']}" for="from"/>
<h:panelGroup>
<rich:calendar id="from" value="#{adminLogController.form.from.time}" enableManualInput="true"
datePattern="dd.MM.yyyy">
<!-- rich:validator/ -->
</rich:calendar>
<rich:message for="from"/>
</h:panelGroup>
<h:outputLabel value="#{dps_msgs['to']}" for="to"/>
<h:panelGroup>
<rich:calendar id="to" value="#{adminLogController.form.to.time}" enableManualInput="true"
datePattern="dd.MM.yyyy">
<!-- rich:validator/ -->
</rich:calendar>
<rich:message for="to"/>
</h:panelGroup>
<h:outputLabel value="#{dps_msgs['level']}" for="levels"/>
<h:panelGroup>
<h:selectManyCheckbox id="levels" value="#{adminLogController.form.levels}">
<f:selectItems value="#{adminLogController.form.allLevels}"/>
<rich:validator/>
</h:selectManyCheckbox>
<rich:message for="levels"/>
</h:panelGroup>
<h:outputLabel value="#{dps_msgs['environment']}" for="environment"/>
<h:panelGroup>
<h:selectOneMenu id="environment" value="#{adminLogController.form.environment}">
<f:selectItems value="#{environmentHelper.allEnvironments}"/>
<rich:validator/>
</h:selectOneMenu>
<rich:message for="environment"/>
</h:panelGroup>
</h:panelGrid>
</rich:graphValidator>
<h:commandButton value="#{dps_msgs['update']}"/>
</rich:collapsiblePanel>
I use Spring beans as backing beans by the way.