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

    facet tag issue of rich:tab inside rich:panel

    timbooo

      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
          nbelaevski

           

          "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
            timbooo

             

            "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
              nbelaevski

              Is it error in IDE?

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

                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

                   

                  
                   <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
                    timbooo

                     

                    "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

                      show full code snippet of this page.

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

                         

                        <!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
                          nbelaevski

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

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

                            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

                              or maybe deployment problem as Nick suggested.