Seam And ICEFaces menubar
davidalves Dec 19, 2006 8:30 PMHi 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.