From: Arinaya [mailto:[EMAIL PROTECTED]
Subject: RE: Problems with client side state saving
Interesting FYI,
The below scenario works when the selectItems values are Integer objects, but not when they are Strings.
But Strings are ok with state saving method = server.
Interesting. I just run into a similar problem, which may or may not have the same origins. I'm using server side state saving, and when some of the Integer etc. bean properties that I'm trying to save using saveState are null, IE crashes my server. And it only happens on IE, not on Mozilla.. the logs are below.
 
Kalle
 
javax.faces.el.EvaluationException: _expression_: '#{users.list}'
 at org.apache.myfaces.el.ValueBindingImpl.setValue(ValueBindingImpl.java:369)
 at org.apache.myfaces.custom.savestate.UISaveState.restoreState(UISaveState.java:47)
 at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:500)
 at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:492)
 at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:492)
 at org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreComponentState(JspStateManagerImpl.java:161)
 at org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreView(JspStateManagerImpl.java:217)
 at org.apache.myfaces.application.jsp.JspViewHandlerImpl.restoreView(JspViewHandlerImpl.java:265)
 at org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl.restoreView(JspTilesViewHandlerImpl.java:303)
 at org.apache.myfaces.lifecycle.LifecycleImpl.restoreView(LifecycleImpl.java:117)
 at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:109)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
 at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:750)
 at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:510)
 at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:445)
 at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:359)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:233)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:257)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
 at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:184)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
 at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:833)
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:732)
 at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:619)
 at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:688)
 at java.lang.Thread.run(Thread.java:534)
Caused by: javax.faces.FacesException: Cannot coerce java.lang.String to java.lang.Integer
 at org.apache.myfaces.util.ClassUtils.convertToType(ClassUtils.java:313)
 at org.apache.myfaces.config.ManagedBeanBuilder.initializeProperties(ManagedBeanBuilder.java:135)
 at org.apache.myfaces.config.ManagedBeanBuilder.buildManagedBean(ManagedBeanBuilder.java:59)
 at org.apache.myfaces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:328)
 at org.apache.myfaces.el.ValueBindingImpl$ELVariableResolver.resolveVariable(ValueBindingImpl.java:637)
 at org.apache.commons.el.NamedValue.evaluate(NamedValue.java:124)
 at org.apache.myfaces.el.ValueBindingImpl.resolveToBaseAndProperty(ValueBindingImpl.java:518)
 at org.apache.myfaces.el.ValueBindingImpl.setValue(ValueBindingImpl.java:309)
 ... 42 more
Caused by: javax.servlet.jsp.el.ELException: An exception occured trying to convert String "null" to type "java.lang.Integer"
 at org.apache.commons.el.Logger.logError(Logger.java:481)
 at org.apache.commons.el.Logger.logError(Logger.java:498)
 at org.apache.commons.el.Logger.logError(Logger.java:566)
 at org.apache.commons.el.Coercions.coerceToPrimitiveNumber(Coercions.java:440)
 at org.apache.commons.el.Coercions.coerce(Coercions.java:332)
 at org.apache.myfaces.util.ClassUtils.convertToType(ClassUtils.java:306)
 ... 49 more
javax.faces.FacesException: Cannot coerce java.lang.String to java.lang.Integer
 at org.apache.myfaces.util.ClassUtils.convertToType(ClassUtils.java:313)
 at org.apache.myfaces.config.ManagedBeanBuilder.initializeProperties(ManagedBeanBuilder.java:135)
 at org.apache.myfaces.config.ManagedBeanBuilder.buildManagedBean(ManagedBeanBuilder.java:59)
 at org.apache.myfaces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:328)
 at org.apache.myfaces.el.ValueBindingImpl$ELVariableResolver.resolveVariable(ValueBindingImpl.java:637)
 at org.apache.commons.el.NamedValue.evaluate(NamedValue.java:124)
 at org.apache.myfaces.el.ValueBindingImpl.resolveToBaseAndProperty(ValueBindingImpl.java:518)
 at org.apache.myfaces.el.ValueBindingImpl.setValue(ValueBindingImpl.java:309)
 at org.apache.myfaces.custom.savestate.UISaveState.restoreState(UISaveState.java:47)
 at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:500)
 at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:492)
 at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:492)
 at org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreComponentState(JspStateManagerImpl.java:161)
 at org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreView(JspStateManagerImpl.java:217)
 at org.apache.myfaces.application.jsp.JspViewHandlerImpl.restoreView(JspViewHandlerImpl.java:265)
 at org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl.restoreView(JspTilesViewHandlerImpl.java:303)
 at org.apache.myfaces.lifecycle.LifecycleImpl.restoreView(LifecycleImpl.java:117)
 at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:109)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
 at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:750)
 at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:510)
 at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:445)
 at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:359)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:233)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:257)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
 at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:184)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
 at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:833)
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:732)
 at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:619)
 at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:688)
 at java.lang.Thread.run(Thread.java:534)
Caused by: javax.servlet.jsp.el.ELException: An exception occured trying to convert String "null" to type "java.lang.Integer"
 at org.apache.commons.el.Logger.logError(Logger.java:481)
 at org.apache.commons.el.Logger.logError(Logger.java:498)
 at org.apache.commons.el.Logger.logError(Logger.java:566)
 at org.apache.commons.el.Coercions.coerceToPrimitiveNumber(Coercions.java:440)
 at org.apache.commons.el.Coercions.coerce(Coercions.java:332)
 at org.apache.myfaces.util.ClassUtils.convertToType(ClassUtils.java:306)
 ... 49 more
javax.servlet.jsp.el.ELException: An exception occured trying to convert String "null" to type "java.lang.Integer"
 at org.apache.commons.el.Logger.logError(Logger.java:481)
 at org.apache.commons.el.Logger.logError(Logger.java:498)
 at org.apache.commons.el.Logger.logError(Logger.java:566)
 at org.apache.commons.el.Coercions.coerceToPrimitiveNumber(Coercions.java:440)
 at org.apache.commons.el.Coercions.coerce(Coercions.java:332)
 at org.apache.myfaces.util.ClassUtils.convertToType(ClassUtils.java:306)
 at org.apache.myfaces.config.ManagedBeanBuilder.initializeProperties(ManagedBeanBuilder.java:135)
 at org.apache.myfaces.config.ManagedBeanBuilder.buildManagedBean(ManagedBeanBuilder.java:59)
 at org.apache.myfaces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:328)
 at org.apache.myfaces.el.ValueBindingImpl$ELVariableResolver.resolveVariable(ValueBindingImpl.java:637)
 at org.apache.commons.el.NamedValue.evaluate(NamedValue.java:124)
 at org.apache.myfaces.el.ValueBindingImpl.resolveToBaseAndProperty(ValueBindingImpl.java:518)
 at org.apache.myfaces.el.ValueBindingImpl.setValue(ValueBindingImpl.java:309)
 at org.apache.myfaces.custom.savestate.UISaveState.restoreState(UISaveState.java:47)
 at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:500)
 at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:492)
 at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:492)
 at org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreComponentState(JspStateManagerImpl.java:161)
 at org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreView(JspStateManagerImpl.java:217)
 at org.apache.myfaces.application.jsp.JspViewHandlerImpl.restoreView(JspViewHandlerImpl.java:265)
 at org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl.restoreView(JspTilesViewHandlerImpl.java:303)
 at org.apache.myfaces.lifecycle.LifecycleImpl.restoreView(LifecycleImpl.java:117)
 at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:109)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
 at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:750)
 at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:510)
 at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:445)
 at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:359)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:233)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:257)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
 at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:184)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
 at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
 at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:833)
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:732)
 at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:619)
 at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:688)
 at java.lang.Thread.run(Thread.java:534)
 


From: Arinaya [mailto:[EMAIL PROTECTED]
Sent: Thursday, November 18, 2004 12:05 PM
To: 'MyFaces Discussion'
Subject: RE: Problems with client side state saving

The following works perfectly when state is saved on the server, but not when state is saved on the client. Can someone please explain why. It looks like the valueChangeListener is not even being triggered. What do I need to do to make JSF aware of changes to the selectOneMenu input?
 

<h:selectOneMenu value="#{xxxBean.recordsPerPage}" onchange="this.form.submit();" immediate="true">

<f:selectItem itemLabel="10" itemValue="10"/>

<f:selectItem itemLabel="20" itemValue="20"/>

<f:selectItem itemLabel="50" itemValue="50"/>

<f:selectItem itemLabel="All" itemValue="#{xxxBean.recordCount}"/>

<f:valueChangeListener type="x.y.z.SatRecordsPerPageChangeListener"/>

</h:selectOneMenu>

 

Reply via email to