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.