9 Replies Latest reply on Dec 22, 2006 9:30 AM by David Alves

    Seam And ICEFaces menubar

    David Alves Newbie

      Hi I'm trying to build a menu using a Seam action as a backing bean for ICEFaces menuBar component.

      I goes something like this:

      MainMenuAction

      @Stateless
      @Name("mainMenuAction")
      @Scope(ScopeType.SESSION)
      public class MainMenuAction implements MainMenu {
      
       @In(required = true)
       User user;
      
       @Logger
       Log log;
      
       @Out
       public List<MenuItem> mainMenu;
      
       public String getMainMenu() {
      
       mainMenu = new ArrayList<MenuItem>();
       MenuItem mainClassifieds = new MenuItem();
       mainClassifieds.setIcon("xmlhttp/css/xp/css-images/menuitem.gif");
       mainClassifieds.setValue("Opt1");
      
       MenuItem searchClassified = new MenuItem();
       searchClassified.setIcon("xmlhttp/css/xp/css-images/menuitem.gif");
       searchClassified.setValue("Op2");
      
       MenuItem addClassified = new MenuItem();
       addClassified.setIcon("xmlhttp/css/xp/css-images/menuitem.gif");
       addClassified.setValue("Op3");
      
       mainClassifieds.getChildren().add(searchClassified);
       mainClassifieds.getChildren().add(addClassified);
      
       MenuItem myClassifieds = new MenuItem();
       myClassifieds.setIcon("xmlhttp/css/xp/css-images/menuitem.gif");
       myClassifieds.setValue("Opt4");
      
       mainMenu.add(mainClassifieds);
       mainMenu.add(myClassifieds);
      
       return null;
       }
      }
      


      mainMenuPanel.xhtml

      
      <html xmlns="http://www.w3.org/1999/xhtml"
       xmlns:ui="http://java.sun.com/jsf/facelets"
       xmlns:h="http://java.sun.com/jsf/html"
       xmlns:ice="http://www.icesoft.com/icefaces/component">
      <body>
      <h:form>
       <ice:menuBar orientation="vertical" >
       <ice:menuItems value="#{mainMenuAction.mainMenu}"/>
       </ice:menuBar>
      </h:form>
      </body>
      </html>
      
      


      I'm getting the following exception:

      01:27:11,548 ERROR [D2DFaceletViewHandler] Problem in renderResponse: /main/mainMenuPanel.xhtml @9,63 value="#{mainMenuAction.getMainMenu}": Bean: org.jboss.seam.intercept.Proxy$$EnhancerByCGLIB$$1503199b, property: getMainMenu
      javax.faces.el.PropertyNotFoundException: /main/mainMenuPanel.xhtml @9,63 value="#{mainMenuAction.getMainMenu}": Bean: org.jboss.seam.intercept.Proxy$$EnhancerByCGLIB$$1503199b, property: getMainMenu
       at com.sun.facelets.el.LegacyValueBinding.getValue(LegacyValueBinding.java:58)
       at com.icesoft.faces.component.menubar.MenuItems.getValue(MenuItems.java:82)
       at com.icesoft.faces.component.menubar.MenuItemsRenderer.encodeChildren(MenuItemsRenderer.java:54)
       at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:524)
      


      I just started integrating ICEFaces with Seam so if this is an extremely n00b question I apologize in advance, butI've tryed a lot of variations.