4 Replies Latest reply on Jan 22, 2010 11:54 AM by mark lewis

    nesting elements

    mark lewis Newbie

      Hello

      It's been pointed out to me that forms cannot be nested in JSF.

       

      1) does this include a4j:form elements or just h:form elements?

      2) are there any other elements which aren't allowed to be nested?

      3) are there any elements rich:dataList elements are not allowed to be nested in?

       

      Thanks

      Mark

        • 1. Re: nesting elements
          Ilya Shaikovsky Master

          1) Both components encodes <form> elements. Both should not be nested.

          2) No, but some components limited to use only some partuicular children inside(TabPanel should only contains tabs, tree should contains treeNodes and so on)

          3) no

          • 2. Re: nesting elements
            mark lewis Newbie

            Ilya,

            Thanks for the response.

            re (2), so I can be clear, when you say a tabpanel has to only contain tabs, are you suggesting thus that <h: namespace elements are ok but <rich: namespace elements are not (except obviously <rich:tab> elements)?

             

            (a) Also, where are these rules listed?  I've not seen anything referring to this in the documentation.  My problem may well be that

             

                                <rich:tab styleClass="tab" label="Documented Connections">
                                    <h:panelGrid columns="2">
                                        <h:graphicImage value="/img/btnConnects50.png" width="30"
                                            height="30" alt="Documented Connections" />
                                        <h:outputText value="DOCUMENTED CONNECTIONS: #{PrismBacking.chosenNode}"
                                            styleClass="pageTitle" />
                                       
                                        <rich:dataList var="nod" value="#{PrismBacking.feedDataList}"
                                            rows="#{PrismBacking.feedDataListSize}" type="none"
                                            title="Documented Connections of |#{PrismClient.chosenNode}|">
                                            <h:outputText value="#{nod.feedName}" />
                                            <br />
                                            <h:outputText value="#{nod.feedId}" />
                                        </rich:dataList>
                                           
                                    </h:panelGrid>
                                </rich:tab>

             

            I've this dataList problem - it's a subchild of a rich:tab.  So

            (b) how can I use richfaces elements inside (client switching) tabs?

             

            Cheers

            • 3. Re: nesting elements
              Ilya Shaikovsky Master

              no, It was just example and I meant that immediate children of tabPanel in JSF tree should be tabs(It's just concrete component limitation) but in the tabs you could nest any content.

               

              check please richfaces-demo. Every page contains sources, so you could check pages structures.

              • 4. Re: nesting elements
                mark lewis Newbie

                I checked the demo, but it doesn't show a working example of tabs containing dataLists.  Which in theory it shouldn't.  Trouble is, as you've seen in my other post (http://community.jboss.org/thread/146809?tstart=0) for some reason, using a dataList causes a problem with my app.  I thought it was nested forms, but removing them and ensuring tabs (for example) are in the right place hasn't helped.

                 

                One last go: I'm trying to use a dataList inside a tab of a tabPanel through this:

                 

                <rich:tabPanel switchType="client" rendered="#{not empty PrismBacking.chosenNode}">

                 

                When the jsp loads, the panel is not rendered.  When the a4j:commandButton (in a different form) is used to populate chosenNode, the panel appears.  Except it doesn't if one of the tabs contains a rich:dataList element.

                 

                To your mind, is this anything to do with the way I'm using this tabPanel?