[richfaces-issues] [JBoss JIRA] (RF-12409) rich:list does not work with Partial State Saving

Brian Leathem (JIRA) jira-events at lists.jboss.org
Fri Jun 14 13:24:54 EDT 2013


     [ https://issues.jboss.org/browse/RF-12409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brian Leathem updated RF-12409:
-------------------------------

    Description: 
The rich:list does not work with PSS enabled (javax.faces.PARTIAL_STATE_SAVIN=true).
Inner lists (or some(!) other components) are evaluated although they are not rendered.

This sample works correctly if <ui:repeat> or tomahawk's datalist is used instead of the rich:lists.

{code:xml} 
<rich:list var="currentItem" 
           value="#{viewItemListBean.viewItems}">
  <h:panelGroup rendered="#{currentItem.type == 'TextBean'}">
     <h:outputText value="#{currentItem.text}"/>
  </h:panelGroup>

  <h:panelGroup rendered="#{currentItem.type == 'CheckboxBean'}">
     <rich:list var="checkbox" 
                value="#{currentItem.checkboxes}">
       <h:outputText value="#{checkbox.label}"/>            
     </rich:list>
  </h:panelGroup>
</rich:list>
{code} 

Result:
javax.el.PropertyNotFoundException: Property 'checkboxes' not found on type com.TextBean

viewId=/index.xhtml
location=E:\workspace\jsf21test\zPSS\WebRoot\index.xhtml
phaseId=RENDER_RESPONSE(6)

Caused by:
javax.el.PropertyNotFoundException - Property 'checkboxes' not found on type com.TextBean
at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:214)

/index.xhtml at line 28 and column 51 value="#{currentItem.checkboxes}"

{code:title=Stack Trace=}
org.apache.myfaces.view.facelets.el.ContextAwarePropertyNotFoundException: javax.el.PropertyNotFoundException: Property 'checkboxes' not found on type com.TextBean
	at org.apache.myfaces.view.facelets.el.ContextAwareTagValueExpression.getValue(ContextAwareTagValueExpression.java:100)
	at javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:246)
	at org.richfaces.component.UISequence.getValue(UISequence.java:175)
	at org.richfaces.component.UISequence.createExtendedDataModel(UISequence.java:109)
	at org.richfaces.component.UIDataAdaptor.getExtendedDataModel(UIDataAdaptor.java:459)
	at org.richfaces.component.UIDataAdaptor.setRowKey(UIDataAdaptor.java:272)
	at org.richfaces.component.UIDataAdaptor.visitTree(UIDataAdaptor.java:1299)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:960)
	at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1165)
	at org.richfaces.component.UIDataAdaptor$DataVisitorForVisitTree.process(UIDataAdaptor.java:199)
	at org.ajax4jsf.model.SequenceDataModel.walk(SequenceDataModel.java:65)
	at org.richfaces.component.UIDataAdaptor.walk(UIDataAdaptor.java:796)
	at org.richfaces.component.UIDataAdaptor.visitDataChildren(UIDataAdaptor.java:1269)
	at org.richfaces.component.UIDataAdaptor.visitTree(UIDataAdaptor.java:1347)
	at javax.faces.component.UIForm.visitTree(UIForm.java:354)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:960)
	at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1165)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:960)
	at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1165)
	at org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy.saveStateOnMapVisitTree(DefaultFaceletsStateManagementStrategy.java:787)
	at org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy.saveView(DefaultFaceletsStateManagementStrategy.java:564)
	at org.apache.myfaces.application.StateManagerImpl.saveView(StateManagerImpl.java:189)
	at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:2043)
	at org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:285)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:59)
	at org.apache.myfaces.tomahawk.application.ResourceViewHandlerWrapper.renderView(ResourceViewHandlerWrapper.java:93)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:59)
	at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:116)
	at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:241)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:199)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	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:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	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:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Thread.java:662)
Caused by: javax.el.PropertyNotFoundException: Property 'checkboxes' not found on type com.TextBean
	at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:214)
	at javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:191)
	at javax.el.BeanELResolver.property(BeanELResolver.java:300)
	at javax.el.BeanELResolver.getValue(BeanELResolver.java:81)
	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
	at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:179)
	at org.apache.el.parser.AstValue.getValue(AstValue.java:123)
	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
	at org.apache.myfaces.view.facelets.el.ContextAwareTagValueExpression.getValue(ContextAwareTagValueExpression.java:96)
	... 41 more
{code}


  was:
The rich:list does not work with PSS enabled (javax.faces.PARTIAL_STATE_SAVIN=true).
Inner lists (or some(!) other components) are evaluated although they are not rendered.

This sample works correctly if <ui:repeat> or tomahawk's datalist is used instead of the rich:lists.

{code:xml} 
<rich:list var="currentItem" 
           value="#{viewItemListBean.viewItems}">
  <h:panelGroup rendered="#{currentItem.type == 'TextBean'}">
     <h:outputText value="#{currentItem.text}"/>
  </h:panelGroup>

  <h:panelGroup rendered="#{currentItem.type == 'CheckboxBean'}">
     <rich:list var="checkbox" 
                value="#{currentItem.checkboxes}">
       <h:outputText value="#{checkbox.label}"/>            
     </rich:list>
  </h:panelGroup>
</rich:list>
{code} 

Result:
javax.el.PropertyNotFoundException: Property 'checkboxes' not found on type com.TextBean

viewId=/index.xhtml
location=E:\workspace\jsf21test\zPSS\WebRoot\index.xhtml
phaseId=RENDER_RESPONSE(6)

Caused by:
javax.el.PropertyNotFoundException - Property 'checkboxes' not found on type com.TextBean
at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:214)

/index.xhtml at line 28 and column 51 value="#{currentItem.checkboxes}"

+- Stack Trace
org.apache.myfaces.view.facelets.el.ContextAwarePropertyNotFoundException: javax.el.PropertyNotFoundException: Property 'checkboxes' not found on type com.TextBean
	at org.apache.myfaces.view.facelets.el.ContextAwareTagValueExpression.getValue(ContextAwareTagValueExpression.java:100)
	at javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:246)
	at org.richfaces.component.UISequence.getValue(UISequence.java:175)
	at org.richfaces.component.UISequence.createExtendedDataModel(UISequence.java:109)
	at org.richfaces.component.UIDataAdaptor.getExtendedDataModel(UIDataAdaptor.java:459)
	at org.richfaces.component.UIDataAdaptor.setRowKey(UIDataAdaptor.java:272)
	at org.richfaces.component.UIDataAdaptor.visitTree(UIDataAdaptor.java:1299)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:960)
	at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1165)
	at org.richfaces.component.UIDataAdaptor$DataVisitorForVisitTree.process(UIDataAdaptor.java:199)
	at org.ajax4jsf.model.SequenceDataModel.walk(SequenceDataModel.java:65)
	at org.richfaces.component.UIDataAdaptor.walk(UIDataAdaptor.java:796)
	at org.richfaces.component.UIDataAdaptor.visitDataChildren(UIDataAdaptor.java:1269)
	at org.richfaces.component.UIDataAdaptor.visitTree(UIDataAdaptor.java:1347)
	at javax.faces.component.UIForm.visitTree(UIForm.java:354)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:960)
	at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1165)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:960)
	at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1165)
	at org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy.saveStateOnMapVisitTree(DefaultFaceletsStateManagementStrategy.java:787)
	at org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy.saveView(DefaultFaceletsStateManagementStrategy.java:564)
	at org.apache.myfaces.application.StateManagerImpl.saveView(StateManagerImpl.java:189)
	at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:2043)
	at org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:285)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:59)
	at org.apache.myfaces.tomahawk.application.ResourceViewHandlerWrapper.renderView(ResourceViewHandlerWrapper.java:93)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:59)
	at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:116)
	at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:241)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:199)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	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:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	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:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Thread.java:662)
Caused by: javax.el.PropertyNotFoundException: Property 'checkboxes' not found on type com.TextBean
	at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:214)
	at javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:191)
	at javax.el.BeanELResolver.property(BeanELResolver.java:300)
	at javax.el.BeanELResolver.getValue(BeanELResolver.java:81)
	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
	at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:179)
	at org.apache.el.parser.AstValue.getValue(AstValue.java:123)
	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
	at org.apache.myfaces.view.facelets.el.ContextAwareTagValueExpression.getValue(ContextAwareTagValueExpression.java:96)
	... 41 more




    
> rich:list does not work with Partial State Saving
> -------------------------------------------------
>
>                 Key: RF-12409
>                 URL: https://issues.jboss.org/browse/RF-12409
>             Project: RichFaces
>          Issue Type: Feature Request
>      Security Level: Public(Everyone can see) 
>          Components: component-tables
>    Affects Versions: 4.2.2.Final
>         Environment: myfaces 2.1.8
> Tomcat 6.0.35
>            Reporter: Michael Heinen
>             Fix For: 5-Tracking
>
>         Attachments: pss.war
>
>
> The rich:list does not work with PSS enabled (javax.faces.PARTIAL_STATE_SAVIN=true).
> Inner lists (or some(!) other components) are evaluated although they are not rendered.
> This sample works correctly if <ui:repeat> or tomahawk's datalist is used instead of the rich:lists.
> {code:xml} 
> <rich:list var="currentItem" 
>            value="#{viewItemListBean.viewItems}">
>   <h:panelGroup rendered="#{currentItem.type == 'TextBean'}">
>      <h:outputText value="#{currentItem.text}"/>
>   </h:panelGroup>
>   <h:panelGroup rendered="#{currentItem.type == 'CheckboxBean'}">
>      <rich:list var="checkbox" 
>                 value="#{currentItem.checkboxes}">
>        <h:outputText value="#{checkbox.label}"/>            
>      </rich:list>
>   </h:panelGroup>
> </rich:list>
> {code} 
> Result:
> javax.el.PropertyNotFoundException: Property 'checkboxes' not found on type com.TextBean
> viewId=/index.xhtml
> location=E:\workspace\jsf21test\zPSS\WebRoot\index.xhtml
> phaseId=RENDER_RESPONSE(6)
> Caused by:
> javax.el.PropertyNotFoundException - Property 'checkboxes' not found on type com.TextBean
> at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:214)
> /index.xhtml at line 28 and column 51 value="#{currentItem.checkboxes}"
> {code:title=Stack Trace=}
> org.apache.myfaces.view.facelets.el.ContextAwarePropertyNotFoundException: javax.el.PropertyNotFoundException: Property 'checkboxes' not found on type com.TextBean
> 	at org.apache.myfaces.view.facelets.el.ContextAwareTagValueExpression.getValue(ContextAwareTagValueExpression.java:100)
> 	at javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:246)
> 	at org.richfaces.component.UISequence.getValue(UISequence.java:175)
> 	at org.richfaces.component.UISequence.createExtendedDataModel(UISequence.java:109)
> 	at org.richfaces.component.UIDataAdaptor.getExtendedDataModel(UIDataAdaptor.java:459)
> 	at org.richfaces.component.UIDataAdaptor.setRowKey(UIDataAdaptor.java:272)
> 	at org.richfaces.component.UIDataAdaptor.visitTree(UIDataAdaptor.java:1299)
> 	at javax.faces.component.UIComponent.visitTree(UIComponent.java:960)
> 	at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1165)
> 	at org.richfaces.component.UIDataAdaptor$DataVisitorForVisitTree.process(UIDataAdaptor.java:199)
> 	at org.ajax4jsf.model.SequenceDataModel.walk(SequenceDataModel.java:65)
> 	at org.richfaces.component.UIDataAdaptor.walk(UIDataAdaptor.java:796)
> 	at org.richfaces.component.UIDataAdaptor.visitDataChildren(UIDataAdaptor.java:1269)
> 	at org.richfaces.component.UIDataAdaptor.visitTree(UIDataAdaptor.java:1347)
> 	at javax.faces.component.UIForm.visitTree(UIForm.java:354)
> 	at javax.faces.component.UIComponent.visitTree(UIComponent.java:960)
> 	at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1165)
> 	at javax.faces.component.UIComponent.visitTree(UIComponent.java:960)
> 	at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1165)
> 	at org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy.saveStateOnMapVisitTree(DefaultFaceletsStateManagementStrategy.java:787)
> 	at org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy.saveView(DefaultFaceletsStateManagementStrategy.java:564)
> 	at org.apache.myfaces.application.StateManagerImpl.saveView(StateManagerImpl.java:189)
> 	at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:2043)
> 	at org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:285)
> 	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:59)
> 	at org.apache.myfaces.tomahawk.application.ResourceViewHandlerWrapper.renderView(ResourceViewHandlerWrapper.java:93)
> 	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:59)
> 	at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:116)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:241)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:199)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> 	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:191)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> 	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:293)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
> 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
> 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> 	at java.lang.Thread.run(Thread.java:662)
> Caused by: javax.el.PropertyNotFoundException: Property 'checkboxes' not found on type com.TextBean
> 	at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:214)
> 	at javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:191)
> 	at javax.el.BeanELResolver.property(BeanELResolver.java:300)
> 	at javax.el.BeanELResolver.getValue(BeanELResolver.java:81)
> 	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
> 	at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:179)
> 	at org.apache.el.parser.AstValue.getValue(AstValue.java:123)
> 	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
> 	at org.apache.myfaces.view.facelets.el.ContextAwareTagValueExpression.getValue(ContextAwareTagValueExpression.java:96)
> 	... 41 more
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the richfaces-issues mailing list