You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Rashmi Kumari <Ra...@rmsi.com> on 2005/06/23 09:54:19 UTC

Unable to render Server side tree2

Hi,

I have build a client side tree using X:tree2 tag which is working fine but
when I  change it  to server side tree using clientSideToggle="false"
attribute, it is giving error.

The jsp is-------
           <x:tree2 value="#{treeBacker.treeData}" id="server-tree" var="
node" varNodeToggler="t" clientSideToggle="false">
             <f:facet name="person">
               <h:panelGroup>
                 <f:facet name="expand">
                   <h:graphicImage value="images/yellow-folder-open.png"
rendered="#{t.nodeExpanded}" border="0"/>
                 </f:facet>
                 <f:facet name="collapse">
                   <h:graphicImage value="images/yellow-folder-closed.png"
rendered="#{!t.nodeExpanded}" border="0"/>
                 </f:facet>
                 <h:outputText value="#{node.description}" styleClass="
nodeFolder"/>
               </h:panelGroup>
             </f:facet>
             <f:facet name="foo-folder">
               <h:panelGroup>
                 <f:facet name="expand">
                   <h:graphicImage value="images/yellow-folder-open.png"
rendered="#{t.nodeExpanded}" border="0"/>
                 </f:facet>
                 <f:facet name="collapse">
                   <h:graphicImage value="images/yellow-folder-closed.png"
rendered="#{!t.nodeExpanded}" border="0"/>
                 </f:facet>
                    <h:commandLink immediate="true" action="#{
treeBacker.getParent}" actionListener="#{
treeBacker.selectionTreeActionListener}" styleClass="document">
                   <h:outputText value="#{node.description}" styleClass="
nodeFolder"/>
                   <f:param name="docNum" value="#{node.identifier}"/>
                 </h:commandLink>
                 <h:outputText value=" (#{node.childCount})" styleClass="
childCount" rendered="#{!empty node.children}"/>
               </h:panelGroup>
             </f:facet>
             <f:facet name="folder">
               <h:panelGroup>
                 <f:facet name="expand">
                   <h:graphicImage value="images/blue-folder-open.png"
rendered="#{t.nodeExpanded}" border="0"/>
                 </f:facet>
                 <f:facet name="collapse">
                   <h:graphicImage value="images/blue-folder-closed.png"
rendered="#{!t.nodeExpanded}"
                                               border="0"/>
                 </f:facet>
                 <h:commandLink immediate="true" action="#{
treeBacker.getSelectedNode}" actionListener="#{
treeBacker.selectionTreeActionListener}" styleClass="document">
                   <h:outputText value="#{node.description}" styleClass="
nodeFolder"/>
                   <f:param name="docNum" value="#{node.identifier}"/>
                 </h:commandLink>
                 <h:outputText value=" (#{node.childCount})" styleClass="
childCount" rendered="#{!empty node.children}"/>
               </h:panelGroup>
             </f:facet>
             <f:facet name="document">
               <h:panelGroup>
                 <h:commandLink immediate="true" action="#{
treeBacker.getParent}" actionListener="#{
treeBacker.selectionTreeActionListener}"
                              styleClass="#{t.nodeSelected? '
documentSelected' : 'document'}">
                   <h:graphicImage value="images/document.png" border="0"/>
                   <h:outputText value="#{node.description}"/>
                   <f:param name="docNum" value="#{node.identifier}"/>
                 </h:commandLink>
               </h:panelGroup>
             </f:facet>
           </x:tree2>

Complete stack trace of the exception is------

java.lang.IllegalStateException: parent is null?
     at
javax.faces.webapp.UIComponentTag.findComponent(UIComponentTag.java:404)
     at
javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:256)
     at org.apache.jsp.template.template_jsp.
_jspx_meth_f_subview_2(org.apache.jsp.template.template_jsp:231)
     at org.apache.jsp.template.template_jsp.
_jspx_meth_f_view_0(org.apache.jsp.template.template_jsp:120)
     at org.apache.jsp.template.template_jsp.
_jspService(org.apache.jsp.template.template_jsp:70)
     at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
     at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
     at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
     at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:673)
     at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:464)
     at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:399)
     at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
     at
org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:405)
     at
org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl.dispatch(JspTilesViewHandlerImpl.java:220)
     at
org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl.renderView(JspTilesViewHandlerImpl.java:206)
     at
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:300)
     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:110)
     at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
     at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
     at
org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:112)
     at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
     at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
     at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
     at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
     at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
     at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
     at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
     at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
     at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
     at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
     at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
     at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
     at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
     at java.lang.Thread.run(Thread.java:595)



Re: Unable to render Server side tree2

Posted by Sean Schofield <se...@gmail.com>.
Try removing the expand and collapse facets.  Those are really only
meant for the client side version.  Take a look at the server side
tree in the simple examples for an idea of how to set it up.  You
should be able to modify the client-side trees in the examples using
the server-side examples as your guide.

HTH,
sean

On 6/23/05, Rashmi Kumari <Ra...@rmsi.com> wrote:
> 
> Hi,
> 
> I have build a client side tree using X:tree2 tag which is working fine but
> when I  change it  to server side tree using clientSideToggle="false"
> attribute, it is giving error.
> 
> The jsp is-------
>            <x:tree2 value="#{treeBacker.treeData}" id="server-tree" var="
> node" varNodeToggler="t" clientSideToggle="false">
>              <f:facet name="person">
>                <h:panelGroup>
>                  <f:facet name="expand">
>                    <h:graphicImage value="images/yellow-folder-open.png"
> rendered="#{t.nodeExpanded}" border="0"/>
>                  </f:facet>
>                  <f:facet name="collapse">
>                    <h:graphicImage value="images/yellow-folder-closed.png"
> rendered="#{!t.nodeExpanded}" border="0"/>
>                  </f:facet>
>                  <h:outputText value="#{node.description}" styleClass="
> nodeFolder"/>
>                </h:panelGroup>
>              </f:facet>
>              <f:facet name="foo-folder">
>                <h:panelGroup>
>                  <f:facet name="expand">
>                    <h:graphicImage value="images/yellow-folder-open.png"
> rendered="#{t.nodeExpanded}" border="0"/>
>                  </f:facet>
>                  <f:facet name="collapse">
>                    <h:graphicImage value="images/yellow-folder-closed.png"
> rendered="#{!t.nodeExpanded}" border="0"/>
>                  </f:facet>
>                     <h:commandLink immediate="true" action="#{
> treeBacker.getParent}" actionListener="#{
> treeBacker.selectionTreeActionListener}" styleClass="document">
>                    <h:outputText value="#{node.description}" styleClass="
> nodeFolder"/>
>                    <f:param name="docNum" value="#{node.identifier}"/>
>                  </h:commandLink>
>                  <h:outputText value=" (#{node.childCount})" styleClass="
> childCount" rendered="#{!empty node.children}"/>
>                </h:panelGroup>
>              </f:facet>
>              <f:facet name="folder">
>                <h:panelGroup>
>                  <f:facet name="expand">
>                    <h:graphicImage value="images/blue-folder-open.png"
> rendered="#{t.nodeExpanded}" border="0"/>
>                  </f:facet>
>                  <f:facet name="collapse">
>                    <h:graphicImage value="images/blue-folder-closed.png"
> rendered="#{!t.nodeExpanded}"
>                                                border="0"/>
>                  </f:facet>
>                  <h:commandLink immediate="true" action="#{
> treeBacker.getSelectedNode}" actionListener="#{
> treeBacker.selectionTreeActionListener}" styleClass="document">
>                    <h:outputText value="#{node.description}" styleClass="
> nodeFolder"/>
>                    <f:param name="docNum" value="#{node.identifier}"/>
>                  </h:commandLink>
>                  <h:outputText value=" (#{node.childCount})" styleClass="
> childCount" rendered="#{!empty node.children}"/>
>                </h:panelGroup>
>              </f:facet>
>              <f:facet name="document">
>                <h:panelGroup>
>                  <h:commandLink immediate="true" action="#{
> treeBacker.getParent}" actionListener="#{
> treeBacker.selectionTreeActionListener}"
>                               styleClass="#{t.nodeSelected? '
> documentSelected' : 'document'}">
>                    <h:graphicImage value="images/document.png" border="0"/>
>                    <h:outputText value="#{node.description}"/>
>                    <f:param name="docNum" value="#{node.identifier}"/>
>                  </h:commandLink>
>                </h:panelGroup>
>              </f:facet>
>            </x:tree2>
> 
> Complete stack trace of the exception is------
> 
> java.lang.IllegalStateException: parent is null?
>      at
> javax.faces.webapp.UIComponentTag.findComponent(UIComponentTag.java:404)
>      at
> javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:256)
>      at org.apache.jsp.template.template_jsp.
> _jspx_meth_f_subview_2(org.apache.jsp.template.template_jsp:231)
>      at org.apache.jsp.template.template_jsp.
> _jspx_meth_f_view_0(org.apache.jsp.template.template_jsp:120)
>      at org.apache.jsp.template.template_jsp.
> _jspService(org.apache.jsp.template.template_jsp:70)
>      at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
>      at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>      at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
>      at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
>      at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
>      at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>      at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>      at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>      at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:673)
>      at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:464)
>      at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:399)
>      at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
>      at
> org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:405)
>      at
> org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl.dispatch(JspTilesViewHandlerImpl.java:220)
>      at
> org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl.renderView(JspTilesViewHandlerImpl.java:206)
>      at
> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:300)
>      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:110)
>      at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>      at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>      at
> org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:112)
>      at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>      at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>      at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
>      at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>      at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>      at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>      at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>      at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>      at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
>      at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
>      at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
>      at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>      at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>      at java.lang.Thread.run(Thread.java:595)
> 
> 
>