You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Guy Bashan <gu...@gmail.com> on 2008/08/05 13:50:36 UTC

[MyFaces]

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?

 

Thanks,

Guy.


RE: [MyFaces]

Posted by Guy Bashan <gu...@gmail.com>.
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: simon.kitching@chello.at [mailto:simon.kitching@chello.at] 
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


Re: [MyFaces]

Posted by "simon.kitching@chello.at" <si...@chello.at>.
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.java:834)|
> |        at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:822)|
> |        at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:822)|
> |        at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:822)|
> |        at org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreView(JspStateManagerImpl.java:316)|
> |        at org.apache.myfaces.application.jsp.JspViewHandlerImpl.restoreView(JspViewHandlerImpl.java:506)|
> |        at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:85)|
> |        at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)|
> |        at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)|
> |        at org.apache.myfaces.custom.ppr.PPRLifecycleWrapper.execute(PPRLifecycleWrapper.java:68)|
> |        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:148)|
> |        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)|
> |        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)|
> |        at com.todacell.ui.view.filter.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:136)|
> |        at com.todacell.ui.view.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:61)|
> |        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)|
> |        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)|
> |        at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)|
> |        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)|
> |        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)|
> |        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)|
> |        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: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(Http11Protocol.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(ValueExpressionToValueBinding.java:128)|
> |        at org.apache.myfaces.custom.savestate.UISaveState.restoreState(UISaveState.java:101)|
> |        at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java: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(FacesCompositeELResolver.java:46)|
> |        at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver$6.invoke(FacesCompositeELResolver.java:132)|
> |        at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.invoke(FacesCompositeELResolver.java:148)|
> |        at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.setValue(FacesCompositeELResolver.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(ValueExpressionToValueBinding.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