The el was:
<t:saveState value="#{myBean.myList}" />
Anyway, I gave up and solved it by using a session scoped bean holding the
list.
Thanks,
Guy.
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Tuesday, August 05, 2008 3:57 PM
To: MyFaces Discussion
Subject: Re: [MyFaces] <t:savestate>
Guy Bashan schrieb:
>
> Hi,
>
>
>
> I am trying to use <t:savestate>. I am trying to save the sate of a
> list which is a member of a backing bean, that is needed to be
> manipulated (move rows up and down, delete, etc').
>
> The list will be "really" saved when "save" is pressed.
>
>
>
> I am getting this exception:
>
> javax.faces.FacesException: Exception while restoring state of component
>
> |javax.faces.FacesException: Exception while restoring state of component
: {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId:
null][Class: javax.faces.component.html.HtmlForm,Id:
frmTargetingParam][Class: javax.faces.component.html.HtmlPanelGroup,Id:
j_id_jsp_1379417937_106][Class:
org.apache.myfaces.custom.savestate.UISaveState,Id:
j_id_jsp_1379417937_108]}|
> | at
javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.ja
va:834)|
> | at
javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.ja
va:822)|
> | at
javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.ja
va:822)|
> | at
javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.ja
va:822)|
> | at
org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreView(JspStateM
anagerImpl.java:316)|
> | at
org.apache.myfaces.application.jsp.JspViewHandlerImpl.restoreView(JspViewHan
dlerImpl.java:506)|
> | at
org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor
.java:85)|
> | at
org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:1
03)|
> | at
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)|
> | at
org.apache.myfaces.custom.ppr.PPRLifecycleWrapper.execute(PPRLifecycleWrappe
r.java:68)|
> | at
javax.faces.webapp.FacesServlet.service(FacesServlet.java:148)|
> | at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:290)|
> | at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)|
> | at
com.todacell.ui.view.filter.OpenSessionInViewFilter.doFilterInternal(OpenSes
sionInViewFilter.java:136)|
> | at
com.todacell.ui.view.filter.OncePerRequestFilter.doFilter(OncePerRequestFilt
er.java:61)|
> | at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)|
> | at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)|
> | at
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.
java:147)|
> | at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)|
> | at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)|
> | at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:233)|
> | at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:175)|
> | at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128
)|
> | at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102
)|
> | at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)|
> | at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)|
> | at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)|
> | at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http
11Protocol.java:583)|
> | at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)|
> | at java.lang.Thread.run(Thread.java:619)|
> |Caused by: javax.faces.el.PropertyNotFoundException:
javax.el.PropertyNotFoundException: Property 'pubListTargetingParamOptions'
not writable on type java.util.List|
> | at
org.apache.myfaces.el.convert.ValueExpressionToValueBinding.setValue(ValueEx
pressionToValueBinding.java:128)|
> | at
org.apache.myfaces.custom.savestate.UISaveState.restoreState(UISaveState.jav
a:101)|
> | at
javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.ja
va:832)|
> | ... 29 more|
> |Caused by: javax.el.PropertyNotFoundException: Property
'pubListTargetingParamOptions' not writable on type java.util.List|
> | at
javax.el.BeanELResolver$BeanProperty.write(BeanELResolver.java:247)|
> | at
javax.el.BeanELResolver$BeanProperty.access$100(BeanELResolver.java:209)|
> | at javax.el.BeanELResolver.setValue(BeanELResolver.java:106)|
> | at
javax.el.CompositeELResolver.setValue(CompositeELResolver.java:68)|
> | at
org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.access$501(F
acesCompositeELResolver.java:46)|
> | at
org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver$6.invoke(Fac
esCompositeELResolver.java:132)|
> | at
org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.invoke(Faces
CompositeELResolver.java:148)|
> | at
org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.setValue(Fac
esCompositeELResolver.java:128)|
> | at org.apache.el.parser.AstValue.setValue(AstValue.java:132)|
> | at
org.apache.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:249)|
> | at
org.apache.myfaces.el.convert.ValueExpressionToValueBinding.setValue(ValueEx
pressionToValueBinding.java:124)|
> | ... 31 more|
>
>
>
> When I remove the <t:savestate> things are working, but of course list
> is being reloaded on each post.
>
>
>
> Does anyone know what am I doing wrong here?
>
Looks like you have got your EL expression for the t:saveState tag
wrong, and as a result something is doing
#{foo.pubListTargetingParamOptions}
where #{foo} is an object of type List.
Regards, Simon