11 Replies Latest reply on Jun 5, 2009 8:04 AM by Ilya Shaikovsky

    facet tag issue of rich:tab inside rich:panel

    Tim Newbie

      hi there,

      following code:

      <h:form id="searchForm">
       <rich:panel id="searchPanel" headerClass="headerPanel" bodyClass="bodyPanel">
       <f:facet name="header">
       <h:panelGroup>
       <h:graphicImage value="/images/search.png"
       style="vertical-align: middle;" />
       <rich:spacer width="5" />
       <h:outputLabel value="#{res.search}" />
       </h:panelGroup>
       </f:facet>
       <rich:tabPanel switchType="client">
       <rich:tab>
       <f:facet name="label">
       <h:panelGroup>
       <h:graphicImage value="/images/search_user.png" />
       <rich:spacer width="5" />
       <h:outputLabel value="#{res.search_user}" />
       </h:panelGroup>
       </f:facet>
       <h:outputLabel value="user search" />
       </rich:tab>
       </rich:tabPanel>
       </rich:panel>
      </h:form>


      tells me that facet can have only one child tag. well, i'm using a panelGroup insed the tab facet.

      what am i missing or is this a bug?

      i'm using jsf 1.2 (mojarra) + rf 3.3.1GA
      thanks in advace..


      kind regards
      tim

        • 1. Re: facet tag issue of rich:tab inside rich:panel
          Nick Belaevski Master

           

          "timbooo" wrote:
          tells me that facet can have only one child tag. well, i'm using a panelGroup insed the tab facet.

          Hi Tim,

          That's true, only one component is allowed in facet in JSF. And yes, h:panelGroup should be used to wrap components if many.

          • 2. Re: facet tag issue of rich:tab inside rich:panel
            Tim Newbie

             

            "nbelaevski" wrote:
            "timbooo" wrote:
            tells me that facet can have only one child tag. well, i'm using a panelGroup insed the tab facet.

            Hi Tim,

            That's true, only one component is allowed in facet in JSF. And yes, h:panelGroup should be used to wrap components if many.

            well, that's what i'm doing?!
            and still the error occurs.

            i'm confused.


            kind regards
            tim

            • 3. Re: facet tag issue of rich:tab inside rich:panel
              Nick Belaevski Master

              Is it error in IDE?

              • 4. Re: facet tag issue of rich:tab inside rich:panel
                Tim Newbie

                no, i'm getting the following stacktrace:

                javax.servlet.ServletException: /pages/search.xhtml @31,29 <f:facet> Facet Tag can only have one child UIComponent
                 javax.faces.webapp.FacesServlet.service(FacesServlet.java:270)
                 sun.reflect.GeneratedMethodAccessor343.invoke(Unknown Source)
                 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                 java.lang.reflect.Method.invoke(Method.java:585)
                 org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
                 java.security.AccessController.doPrivileged(Native Method)
                 javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
                 org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
                 org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
                 java.security.AccessController.doPrivileged(Native Method)
                 org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
                 org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
                 org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)
                 org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
                 sun.reflect.GeneratedMethodAccessor303.invoke(Unknown Source)
                 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                 java.lang.reflect.Method.invoke(Method.java:585)
                 org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
                 java.security.AccessController.doPrivileged(Native Method)
                 javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
                 org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
                 org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:218)
                 java.security.AccessController.doPrivileged(Native Method)
                 com.tsystems.dms.cmwebadmin.filter.SecurityFilter.doFilter(SecurityFilter.java:64)
                 sun.reflect.GeneratedMethodAccessor380.invoke(Unknown Source)
                 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                 java.lang.reflect.Method.invoke(Method.java:585)
                 org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
                 java.security.AccessController.doPrivileged(Native Method)
                 javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
                 org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
                 org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:218)
                


                well, i know the error. i experienced it in the beginnings of my jsf+rf development.
                but i'm definately using a panelGroup in the facet at this position.

                tim

                • 5. Re: facet tag issue of rich:tab inside rich:panel
                  Ilya Shaikovsky Master

                   

                  
                   <rich:tab name="#{cap.name}" >
                   <f:facet name="label">
                   <h:panelGrid columns="2">
                   <h:outputText value="#{cap.name}" />
                   <h:graphicImage value="/images/icons/delete.gif"
                   style="width:12px; height:12px;" onclick="myFunc('#{cap.name}'); Event.stop(event);"/>
                   </h:panelGrid>
                   </f:facet>
                  


                  Checked and works for me.. Sorry but are you sure that you checked the same line that specified in exception?

                  • 6. Re: facet tag issue of rich:tab inside rich:panel
                    Tim Newbie

                     

                    "ilya_shaikovsky" wrote:
                    
                     <rich:tab name="#{cap.name}" >
                     <f:facet name="label">
                     <h:panelGrid columns="2">
                     <h:outputText value="#{cap.name}" />
                     <h:graphicImage value="/images/icons/delete.gif"
                     style="width:12px; height:12px;" onclick="myFunc('#{cap.name}'); Event.stop(event);"/>
                     </h:panelGrid>
                     </f:facet>
                    


                    Checked and works for me.. Sorry but are you sure that you checked the same line that specified in exception?

                    yes, i'm sure.

                    does it maybe have to do something with the tab/tabPanel being situated in a rich:panel?

                    tim

                    • 7. Re: facet tag issue of rich:tab inside rich:panel
                      Ilya Shaikovsky Master

                      show full code snippet of this page.

                      • 8. Re: facet tag issue of rich:tab inside rich:panel
                        Tim Newbie

                         

                        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                        <ui:composition xmlns="http://www.w3.org/1999/xhtml"
                         xmlns:ui="http://java.sun.com/jsf/facelets"
                         xmlns:h="http://java.sun.com/jsf/html"
                         xmlns:f="http://java.sun.com/jsf/core"
                         xmlns:a4j="http://richfaces.org/a4j"
                         xmlns:rich="http://richfaces.org/rich">
                         <h:form id="searchForm">
                         <rich:panel id="searchPanel" headerClass="headerPanel" bodyClass="bodyPanel">
                         <f:facet name="header">
                         <h:panelGroup>
                         <h:graphicImage value="/images/search.png"
                         style="vertical-align: middle;" />
                         <rich:spacer width="5" />
                         <h:outputLabel value="#{res.search}" />
                         </h:panelGroup>
                         </f:facet>
                         <rich:tabPanel switchType="client">
                         <rich:tab>
                         <f:facet name="label">
                         <h:panelGroup>
                         <h:graphicImage value="/images/search_user.png" />
                         <rich:spacer width="5" />
                         <h:outputLabel value="#{res.search_user}" />
                         </h:panelGroup>
                         </f:facet>
                         <h:outputLabel value="user search" />
                         </rich:tab>
                         </rich:tabPanel>
                         </rich:panel>
                         </h:form>
                        </ui:composition>
                        


                        strange thing is that other <f:facet /> tags work with panelGroup (e.g. dataTable, panel etc.).

                        tim


                        • 9. Re: facet tag issue of rich:tab inside rich:panel
                          Nick Belaevski Master

                          Sorry, no ideas :(. Maybe deployment issue?..

                          • 10. Re: facet tag issue of rich:tab inside rich:panel
                            Tim Newbie

                            well, it works now.
                            i copied the facet part from an example in the code to compare. after i deleted my facet copied the panelGrid code part from the old facet to the new facet. now it works.

                            maybe there was some kind of char causing something?
                            i don't know. works like a charm.

                            thanks for you help

                            • 11. Re: facet tag issue of rich:tab inside rich:panel
                              Ilya Shaikovsky Master

                              or maybe deployment problem as Nick suggested.