[
https://issues.jboss.org/browse/RF-11985?page=com.atlassian.jira.plugin.s...
]
Jean ANDRE updated RF-11985:
----------------------------
Description:
We made a test under MyFaces implementation of JSF 2.0 and actually we got an error with
the dataTable. At the first call of the web page, the dataTable performs well but once the
dataTable is redisplayed, the dataTable is unable to reach an existing variable declared
by the attribute var (ex.var="client").
We made also the test by using the h:dataTable, the standard JSF tag and it is working
perfectly - As you know we also use Mojarra as JSF implementation and it's working
too. Then the problem seems to come from with rich:dataTable. Nothing very special here in
using the tag.
{code}
<rich:dataTable id="resultListClient" var="client"
value="#{tab.searchResult.data}" rendered="#{not
tab.searchResult.isEmpty}" row="30" rowClasses="odd-row,
even-row">
<rich:column id="dejaVu" rendered="#{not
resultClientController.isEmptyDejaVu()}">
<!-- -->
<!-- DEJA VU -->
<!-- -->
<f:facet name="header">
 
</f:facet>
<h:graphicImage value="/images/checked.png"
rendered="#{resultClientController.isDejaVu(client.id)}"
alt="#{msg['common.dejaVu.alt']}"
title="#{msg['common.dejaVu.tooltip']}" />
</rich:column>
{code}
{code}
javax.faces.FacesException:
javax.el.PropertyNotFoundException: /pages/client/listClient.xhtml at line 78 and column
51 rendered="#{resultClientController.isDejaVu(client.id)}": Target Unreachable,
identifier 'client' resolved to null
at
org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.wrap(ExceptionHandlerImpl.java:241)
at
org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.handle(ExceptionHandlerImpl.java:156)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:191)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1147)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:722)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:449)
at
com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at
com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:125)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:92)
at com.intact.crm.web.filter.LoginFilter.doFilter(LoginFilter.java:56)
at
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89)
at
com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:919)
at
com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1016)
at
com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:886)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1655)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)
at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
at
com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
at
com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at
com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1650)
Caused by: javax.el.PropertyNotFoundException: /pages/client/listClient.xhtml at line 78
and column 51 rendered="#{resultClientController.isDejaVu(client.id)}": Target
Unreachable, identifier 'client' resolved to null
at
org.apache.myfaces.view.facelets.el.TagValueExpression.getValue(TagValueExpression.java:89)
at javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:260)
at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:1007)
at javax.faces.component.UIComponent.isVisitable(UIComponent.java:289)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:767)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at org.richfaces.component.UIDataAdaptor.visitComponents(UIDataAdaptor.java:1259)
at org.richfaces.component.UIDataAdaptor.visitDataChildren(UIDataAdaptor.java:1286)
at org.richfaces.component.UIDataTableBase.visitDataChildren(UIDataTableBase.java:359)
at org.richfaces.component.UIDataAdaptor.visitTree(UIDataAdaptor.java:1360)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at javax.faces.component.UINamingContainer.visitTree(UINamingContainer.java:169)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at org.richfaces.component.AbstractTogglePanel.visitTree(AbstractTogglePanel.java:719)
at javax.faces.component.UIForm.visitTree(UIForm.java:269)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at
org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener._doTreeVisit(DebugPhaseListener.java:310)
at
org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener.afterPhase(DebugPhaseListener.java:286)
at
org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:111)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:185)
... 29 more
{code}
Please, not that the application is a single page application, everything appends inside a
single page. Dynamic include is used to achieve this goal (see index.xhtml) - Tab is also
dynamic except for the search. See screen shot.
was:
We made a test under MyFaces implementation of JSF 2.0 and actually we got an error with
the dataTable. At the first call of the web page, the dataTable performs well but once the
dataTable is redisplayed, the dataTable is unable to reach an existing variable declared
by the attribute var (ex.var="client").
We made also the test by using the h:dataTable, the standard JSF tag and it is working
perfectly - As you know we also use Mojarra as JSF implementation and it's working
too. Then the problem seems to come from with rich:dataTable. Nothing very special here in
using the tag.
{code}
<rich:dataTable id="resultListClient" var="client"
value="#{tab.searchResult.data}" rendered="#{not
tab.searchResult.isEmpty}" row="30" rowClasses="odd-row,
even-row">
<rich:column id="dejaVu" rendered="#{not
resultClientController.isEmptyDejaVu()}">
<!-- -->
<!-- DEJA VU -->
<!-- -->
<f:facet name="header">
 
</f:facet>
<h:graphicImage value="/images/checked.png"
rendered="#{resultClientController.isDejaVu(client.id)}"
alt="#{msg['common.dejaVu.alt']}"
title="#{msg['common.dejaVu.tooltip']}" />
</rich:column>
{code}
{code}
javax.faces.FacesException:
javax.el.PropertyNotFoundException: /pages/client/listClient.xhtml at line 78 and column
51 rendered="#{resultClientController.isDejaVu(client.id)}": Target Unreachable,
identifier 'client' resolved to null
at
org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.wrap(ExceptionHandlerImpl.java:241)
at
org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.handle(ExceptionHandlerImpl.java:156)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:191)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1147)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:722)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:449)
at
com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at
com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:125)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:92)
at com.intact.crm.web.filter.LoginFilter.doFilter(LoginFilter.java:56)
at
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89)
at
com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:919)
at
com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1016)
at
com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:886)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1655)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)
at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
at
com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
at
com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at
com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1650)
Caused by: javax.el.PropertyNotFoundException: /pages/client/listClient.xhtml at line 78
and column 51 rendered="#{resultClientController.isDejaVu(client.id)}": Target
Unreachable, identifier 'client' resolved to null
at
org.apache.myfaces.view.facelets.el.TagValueExpression.getValue(TagValueExpression.java:89)
at javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:260)
at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:1007)
at javax.faces.component.UIComponent.isVisitable(UIComponent.java:289)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:767)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at org.richfaces.component.UIDataAdaptor.visitComponents(UIDataAdaptor.java:1259)
at org.richfaces.component.UIDataAdaptor.visitDataChildren(UIDataAdaptor.java:1286)
at org.richfaces.component.UIDataTableBase.visitDataChildren(UIDataTableBase.java:359)
at org.richfaces.component.UIDataAdaptor.visitTree(UIDataAdaptor.java:1360)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at javax.faces.component.UINamingContainer.visitTree(UINamingContainer.java:169)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at org.richfaces.component.AbstractTogglePanel.visitTree(AbstractTogglePanel.java:719)
at javax.faces.component.UIForm.visitTree(UIForm.java:269)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at
org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener._doTreeVisit(DebugPhaseListener.java:310)
at
org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener.afterPhase(DebugPhaseListener.java:286)
at
org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:111)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:185)
... 29 more
{code}
rich:dataTable with MyFaces 2.x.x - Target Unreachable, identifier
'client' resolved to null
--------------------------------------------------------------------------------------------
Key: RF-11985
URL:
https://issues.jboss.org/browse/RF-11985
Project: RichFaces
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 4.2.0.CR1
Environment: MyFaces 2.0.x and 2.1.6 - RichFaces 4.2.0 CR1 - WAS 8.0.0.1 - Spring
3.0.6 - Hibernate Validator 4.2.0 Final
Reporter: Jean ANDRE
Priority: Critical
Attachments: index.xhtml, listClient.xhtml, ResultClientController.java,
searchClient.xhtml, SearchClientController.java, tabsClient.xhtml,
TabsClientController.java
We made a test under MyFaces implementation of JSF 2.0 and actually we got an error with
the dataTable. At the first call of the web page, the dataTable performs well but once the
dataTable is redisplayed, the dataTable is unable to reach an existing variable declared
by the attribute var (ex.var="client").
We made also the test by using the h:dataTable, the standard JSF tag and it is working
perfectly - As you know we also use Mojarra as JSF implementation and it's working
too. Then the problem seems to come from with rich:dataTable. Nothing very special here in
using the tag.
{code}
<rich:dataTable id="resultListClient" var="client"
value="#{tab.searchResult.data}" rendered="#{not
tab.searchResult.isEmpty}" row="30" rowClasses="odd-row,
even-row">
<rich:column id="dejaVu" rendered="#{not
resultClientController.isEmptyDejaVu()}">
<!-- -->
<!-- DEJA VU -->
<!-- -->
<f:facet name="header">
 
</f:facet>
<h:graphicImage value="/images/checked.png"
rendered="#{resultClientController.isDejaVu(client.id)}"
alt="#{msg['common.dejaVu.alt']}"
title="#{msg['common.dejaVu.tooltip']}" />
</rich:column>
{code}
{code}
javax.faces.FacesException:
javax.el.PropertyNotFoundException: /pages/client/listClient.xhtml at line 78 and column
51 rendered="#{resultClientController.isDejaVu(client.id)}": Target Unreachable,
identifier 'client' resolved to null
at
org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.wrap(ExceptionHandlerImpl.java:241)
at
org.apache.myfaces.shared_impl.context.ExceptionHandlerImpl.handle(ExceptionHandlerImpl.java:156)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:191)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1147)
at
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:722)
at
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:449)
at
com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at
com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:125)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:92)
at com.intact.crm.web.filter.LoginFilter.doFilter(LoginFilter.java:56)
at
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89)
at
com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:919)
at
com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1016)
at
com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:886)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1655)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)
at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
at
com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
at
com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at
com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1650)
Caused by: javax.el.PropertyNotFoundException: /pages/client/listClient.xhtml at line 78
and column 51 rendered="#{resultClientController.isDejaVu(client.id)}": Target
Unreachable, identifier 'client' resolved to null
at
org.apache.myfaces.view.facelets.el.TagValueExpression.getValue(TagValueExpression.java:89)
at javax.faces.component._DeltaStateHelper.eval(_DeltaStateHelper.java:260)
at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:1007)
at javax.faces.component.UIComponent.isVisitable(UIComponent.java:289)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:767)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at org.richfaces.component.UIDataAdaptor.visitComponents(UIDataAdaptor.java:1259)
at org.richfaces.component.UIDataAdaptor.visitDataChildren(UIDataAdaptor.java:1286)
at org.richfaces.component.UIDataTableBase.visitDataChildren(UIDataTableBase.java:359)
at org.richfaces.component.UIDataAdaptor.visitTree(UIDataAdaptor.java:1360)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at javax.faces.component.UINamingContainer.visitTree(UINamingContainer.java:169)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at org.richfaces.component.AbstractTogglePanel.visitTree(AbstractTogglePanel.java:719)
at javax.faces.component.UIForm.visitTree(UIForm.java:269)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:793)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:991)
at
org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener._doTreeVisit(DebugPhaseListener.java:310)
at
org.apache.myfaces.view.facelets.tag.ui.DebugPhaseListener.afterPhase(DebugPhaseListener.java:286)
at
org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:111)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:185)
... 29 more
{code}
Please, not that the application is a single page application, everything appends inside
a single page. Dynamic include is used to achieve this goal (see index.xhtml) - Tab is
also dynamic except for the search. See screen shot.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira