1 Reply Latest reply on Nov 12, 2012 7:33 PM by gebuh

    Richfaces 4 dynamically created rich components display as text instead of menus/links

    gebuh Newbie

      I posted this over in Stack overflow, but I'm not getting much traction:



      I'm migrating from RF3.3.3, JSF1.2 and jboss 5 to JSF2/ RF4/jboss7.  We have a rich toolbar group with dropdown menus that is generated from a database table.  I made the changes to web.xml, renamed the applicable components in the backing bean, but the toolbar will only show as text instead of dropdown menus and links.


      I see that other people had the same problem but none of the suggested solutions is working for me.  Anybody got any ideas?


      <?xml version="1.0"?> <web-app version="3.0" 
      <context-param> <param-name>org.richfaces.enableControlSkinning</param-name> 
      <param-value>true</param-value> </context-param> <context-param> 
      <param-value>false</param-value> </context-param>  
      <context-param> <param-name>org.richfaces.resourceOptimization.enabled</param-name> 
      <param-value>true</param-value> </context-param>  
      <context-param> <param-name>org.richfaces.skin</param-name> 
      <param-value>blueSky</param-value> </context-param>


      menu.xhtml - included in a template.xhtml with h:head and h:body tags:


      <h:form id="mnMenu">
      <rich:toolbar id="tb" >
          <s:link id="menuHomeId" view="/home.xhtml" value="Home" propagation="none"/>
          <rich:toolbarGroup binding="#{menuQueries.myBarGrp}" />
      <!-- account for jsf bug? bug DOESN'T WORK -->
          <rich:toolbar rendered="false"/>
          <rich:toolbarGroup rendered="false"/>
          <rich:dropDownMenu rendered="false"/>
          <rich:menuGroup rendered="false"/>
          <rich:menuItem rendered="false"/>




      from backing bean - this method creates the toolbar group, it originally looked like this (worked in 2.2):


      public HtmlToolBarGroup getMyBarGrp()
           this.myBarGrp = new org.richfaces.component.html.HtmlToolBarGroup();
           for (CtsPermissionHierarchyAltV each : this.getMainMenuList()) {
      return this.myBarGrp;



      I changed it to this, doesn't make a difference:


      public UIToolbarGroup getMyBarGrp()
           FacesContext ctx = FacesContext.getCurrentInstance();
           this.myBarGrp = (UIToolbarGroup) ctx.getApplication().createComponent(ctx,     
            UIToolbarGroup.COMPONENT_TYPE, "org.richfaces.ToolbarGroupRenderer");
           for (CtsPermissionHierarchyAltV each : this.getMainMenuList()) 



      the getDropDownMenu and submenu methods are coded similarly. I'm not getting any errors.

      FF firebug output for text that should be a dropdown menu looks like this:

      <div id="mnMenu:Communications" class="rf-ddm-lbl rf-ddm-unsel ">
      ... more stuff


      Pre-migration it looked like this:

      <div id="mnMenu:Communications" class="rich-ddmenu-label rich-ddmenu-label-unselect">
      ... more stuff



      Navigating through the firebug output I can see all the submenus - but they're all text references.

      I see all my css files - they're showing up in body instead of head, but they're all there. Did I miss something?  What else can I check?


      jboss 7.1.1 Seam 2.3.0 JSF2.1 RichFaces 4.2.2