a4j:ajax doesn't work inside a form with prependId=false
--------------------------------------------------------
Key: RF-8616
URL:
https://jira.jboss.org/jira/browse/RF-8616
Project: RichFaces
Issue Type: Bug
Security Level: Public (Everyone can see)
Environment: JBoss 6 M2, Tomcat 6.0.24, RichFaces 4.0.0-SNAPSHOT
Reporter: Pavol Pitonak
The following code doesn't work. However, it works fine with f:ajax or if
prependId="false" is removed.
<h:form prependId="false">
<h:outputLabel value="Name:" for="nameInput" />
<h:inputText id="nameInput" value="#{richBean.name}">
<a4j:ajax event="keyup" render="output" />
</h:inputText>
<h:panelGroup id="output">
<h:outputText value="Hello #{richBean.name}!" rendered="#{not
empty richBean.name}" />
</h:panelGroup>
</h:form>
12:57:06,305 INFO [org.hibernate.validator.engine.resolver.DefaultTraversableResolver]
Instantiated an instance of
org.hibernate.validator.engine.resolver.JPATraversableResolver.
12:57:06,307 SEVERE [javax.enterprise.resource.webcontainer.jsf.application] Error
Rendering View[/index.xhtml]: java.lang.NullPointerException
at org.ajax4jsf.renderkit.RendererUtils.computeClientId(RendererUtils.java:966)
at org.ajax4jsf.renderkit.RendererUtils.findComponentsFor(RendererUtils.java:1136)
at org.richfaces.context.ComponentCallback.doVisit(ComponentCallback.java:108)
at
org.richfaces.context.RenderComponentCallback.doVisit(RenderComponentCallback.java:66)
at org.richfaces.context.ComponentCallback.visit(ComponentCallback.java:118)
at
com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:175)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1446)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1457)
at javax.faces.component.UIForm.visitTree(UIForm.java:324)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1457)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1457)
at
org.richfaces.context.PartialViewContextImpl.visitActivatorComponent(PartialViewContextImpl.java:371)
at
org.richfaces.context.PartialViewContextImpl.setupRenderIds(PartialViewContextImpl.java:263)
at
org.richfaces.context.PartialViewContextImpl.processPartialRenderPhase(PartialViewContextImpl.java:196)
at
org.richfaces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:186)
at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:989)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1613)
at
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:369)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:126)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:127)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:336)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:276)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)
at
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:872)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951)
at java.lang.Thread.run(Thread.java:636)
12:57:06,308 ERROR [STDERR] java.lang.NullPointerException
12:57:06,308 ERROR [STDERR] at
org.ajax4jsf.renderkit.RendererUtils.computeClientId(RendererUtils.java:966)
12:57:06,308 ERROR [STDERR] at
org.ajax4jsf.renderkit.RendererUtils.findComponentsFor(RendererUtils.java:1136)
12:57:06,308 ERROR [STDERR] at
org.richfaces.context.ComponentCallback.doVisit(ComponentCallback.java:108)
12:57:06,308 ERROR [STDERR] at
org.richfaces.context.RenderComponentCallback.doVisit(RenderComponentCallback.java:66)
12:57:06,308 ERROR [STDERR] at
org.richfaces.context.ComponentCallback.visit(ComponentCallback.java:118)
12:57:06,308 ERROR [STDERR] at
com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:175)
12:57:06,308 ERROR [STDERR] at
javax.faces.component.UIComponent.visitTree(UIComponent.java:1446)
12:57:06,309 ERROR [STDERR] at
javax.faces.component.UIComponent.visitTree(UIComponent.java:1457)
12:57:06,309 ERROR [STDERR] at javax.faces.component.UIForm.visitTree(UIForm.java:324)
12:57:06,309 ERROR [STDERR] at
javax.faces.component.UIComponent.visitTree(UIComponent.java:1457)
12:57:06,309 ERROR [STDERR] at
javax.faces.component.UIComponent.visitTree(UIComponent.java:1457)
12:57:06,309 ERROR [STDERR] at
org.richfaces.context.PartialViewContextImpl.visitActivatorComponent(PartialViewContextImpl.java:371)
12:57:06,309 ERROR [STDERR] at
org.richfaces.context.PartialViewContextImpl.setupRenderIds(PartialViewContextImpl.java:263)
12:57:06,309 ERROR [STDERR] at
org.richfaces.context.PartialViewContextImpl.processPartialRenderPhase(PartialViewContextImpl.java:196)
12:57:06,309 ERROR [STDERR] at
org.richfaces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:186)
12:57:06,309 ERROR [STDERR] at
javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:989)
12:57:06,310 ERROR [STDERR] at
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1613)
12:57:06,310 ERROR [STDERR] at
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:369)
12:57:06,310 ERROR [STDERR] at
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:126)
12:57:06,310 ERROR [STDERR] at
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:127)
12:57:06,310 ERROR [STDERR] at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
12:57:06,310 ERROR [STDERR] at
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
12:57:06,310 ERROR [STDERR] at
javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
12:57:06,310 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:336)
12:57:06,310 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
12:57:06,311 ERROR [STDERR] at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:276)
12:57:06,311 ERROR [STDERR] at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
12:57:06,311 ERROR [STDERR] at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183)
12:57:06,311 ERROR [STDERR] at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)
12:57:06,311 ERROR [STDERR] at
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
12:57:06,311 ERROR [STDERR] at
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
12:57:06,311 ERROR [STDERR] at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
12:57:06,311 ERROR [STDERR] at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
12:57:06,312 ERROR [STDERR] at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
12:57:06,312 ERROR [STDERR] at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
12:57:06,312 ERROR [STDERR] at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
12:57:06,312 ERROR [STDERR] at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:872)
12:57:06,312 ERROR [STDERR] at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653)
12:57:06,312 ERROR [STDERR] at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951)
12:57:06,312 ERROR [STDERR] at java.lang.Thread.run(Thread.java:636)
12:57:06,312 ERROR
[org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/jsf2Test].[Faces
Servlet]] Servlet.service() for servlet Faces Servlet threw exception:
java.lang.NullPointerException
at java.io.Writer.write(Writer.java:157)
at
com.sun.faces.context.AjaxExceptionHandlerImpl.handlePartialResponseError(AjaxExceptionHandlerImpl.java:200)
at
com.sun.faces.context.AjaxExceptionHandlerImpl.handle(AjaxExceptionHandlerImpl.java:119)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:119)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:336)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:276)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)
at
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:872)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951)
at java.lang.Thread.run(Thread.java:636)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira