1 Reply Latest reply on Jul 4, 2008 5:53 AM by Oliver Hummel

    Rendered attribute breaking AJAX functionality?

    Oliver Hummel Newbie

      Hi, I'm not sure whether this is a bug or there is a reasonable explanation for the following behaviour that I can't figure out at the moment. Perhaps one of you has an idea.

      I have the following situation, I include a page from a jsf file with:

      <ui:include src="#{target}"/>
      


      which works fine by the way. The included file contains e.g. something like the following snippet:

      <rich:inputNumberSlider showToolTip="false" width="720" id="slider" value="2" minValue="1" maxValue="5" required="true" rendered="#{sessionInfoBean.value lt 100 }">
       <a4j:support event="onchange" action="#{sessionInfoBean.method}" reRender="someRegion"/>
      </rich:inputNumberSlider>
      


      As soon as I drag the slider this causes the exception pasted below. If I remove the rendered attribute the slider works normal as well as if I put it in the "top-level" jsf file. I have similar problems with other tags, e.g. a tabPanel does not switch tabs when switchType="ajax" and I seem to recall that <h:commandLink> did fail as well under the same circumstances.

      So, my question is, am I doing something wrong that this construction cannot function for conceptual reasons or is there a bug in Richfaces and I should open an issue in Jira?

      My configuration: Java 6, Tomcat 6.0, Richfaces 3.2.1.

      04.07.2008 10:27:25 org.ajax4jsf.webapp.BaseXMLFilter doXmlFilter
      SCHWERWIEGEND: Exception in the filter chain
      javax.servlet.ServletException: Servlet execution threw an exception
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:313)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:154)
       at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:260)
       at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:366)
       at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:493)
       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: java.lang.StackOverflowError
       at com.sun.facelets.el.VariableMapperWrapper.resolveVariable(VariableMapperWrapper.java:58)
       at com.sun.facelets.el.VariableMapperWrapper.resolveVariable(VariableMapperWrapper.java:58)
       at com.sun.facelets.el.VariableMapperWrapper.resolveVariable(VariableMapperWrapper.java:58)
       at com.sun.facelets.el.VariableMapperWrapper.resolveVariable(VariableMapperWrapper.java:58)
       at com.sun.facelets.el.VariableMapperWrapper.resolveVariable(VariableMapperWrapper.java:58)
       at com.sun.facelets.el.VariableMapperWrapper.resolveVariable(VariableMapperWrapper.java:58)
       at com.sun.facelets.el.VariableMapperWrapper.resolveVariable(VariableMapperWrapper.java:58)
       at com.sun.facelets.el.VariableMapperWrapper.resolveVariable(VariableMapperWrapper.java:58)
       at com.sun.facelets.el.VariableMapperWrapper.resolveVariable(VariableMapperWrapper.java:58)
       at com.sun.facelets.el.VariableMapperWrapper.resolveVariable(VariableMapperWrapper.java:58)
      
      (... more omitted ...)
      
      at com.sun.facelets.el.VariableMapperWrapper.resolveVariable(VariableMapperWrapper.java:58)
       at com.sun.facelets.el.VariableMapperWrapper.resolveVariable(VariableMapperWrapper.java:58)
       at com.sun.facelets.el.VariableMapperWrapper.resolveVariable(VariableMapperWrapper.java:58)
       at org.apache.el.lang.VariableMapperFactory.resolveVariable(VariableMapperFactory.java:40)
       at org.apache.el.lang.ExpressionBuilder.visit(ExpressionBuilder.java:184)
       at org.apache.el.parser.SimpleNode.accept(SimpleNode.java:145)
       at org.apache.el.parser.SimpleNode.accept(SimpleNode.java:148)
       at org.apache.el.lang.ExpressionBuilder.prepare(ExpressionBuilder.java:133)
       at org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:147)
       at org.apache.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:190)
       at org.apache.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:68)
       at com.sun.facelets.el.ELText$ELTextVariable.apply(ELText.java:161)
       at com.sun.facelets.compiler.TextInstruction.apply(TextInstruction.java:56)
       at com.sun.facelets.compiler.UIInstructionHandler.apply(UIInstructionHandler.java:84)
       at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
       at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
       at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
       at com.sun.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:102)
       at org.ajax4jsf.webapp.taglib.EmptyHandler.apply(EmptyHandler.java:34)
       at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
       at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
       at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
       at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
       at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:143)
       at com.sun.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:60)
       at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
       at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
       at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
       at com.sun.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:102)
       at org.ajax4jsf.webapp.taglib.EmptyHandler.apply(EmptyHandler.java:34)
       at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
       at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
       at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
       at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
       at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:143)
       at com.sun.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:60)
       at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
       at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
       at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
       at com.sun.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:102)
       at org.ajax4jsf.webapp.taglib.EmptyHandler.apply(EmptyHandler.java:34)
       at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
       at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
       at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
       at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
       at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:143)
       at com.sun.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:60)
       at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
       at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
       at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
       at com.sun.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:102)
       at org.ajax4jsf.webapp.taglib.EmptyHandler.apply(EmptyHandler.java:34)
       at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
       at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
       at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
       at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
       at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:143)
       at com.sun.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:60)
       at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
       at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
       at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
       at com.sun.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:102)
       at org.ajax4jsf.webapp.taglib.EmptyHandler.apply(EmptyHandler.java:34)
       at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
      
      (... continues ...)