rich:PanelMenu
fanningr Oct 1, 2007 5:54 AMHi,
I am having difficulty with rich:panelMenu component. I have narrowed it to the simplest case. I have a menu with two items created programatically. When i select a menu item it brings me to the page requested but then the menu items (+ menu groups if i had one ) become unclickable until the page is refreshed??
My backing bean has session scope using seam(see code)
I am using RichFaces 3.1.0 + JSF 1.2 + Facelets 1.1.12 + Seam 1.2.1
The problems exists in both IE & Firefox.
@Name("menu") @Scope(ScopeType.SESSION) public class MenuBean { private String selected = null; private HtmlPanelMenu pmenu = null; public MenuBean() { } public HtmlPanelMenu getPmenu() { if (pmenu == null) { Application app = FacesContext.getCurrentInstance().getApplication(); pmenu = (HtmlPanelMenu) app.createComponent(HtmlPanelMenu.COMPONENT_TYPE); pmenu.setMode("ajax"); pmenu.setExpandSingle(true); HtmlPanelMenuItem pMenuItem0 = (HtmlPanelMenuItem) app.createComponent(HtmlPanelMenuItem.COMPONENT_TYPE); pMenuItem0.setName("Home"); pMenuItem0.setId("Home"); pMenuItem0.setLabel("Home"); MethodExpression methodExpression = app.getExpressionFactory().createMethodExpression(FacesContext.getCurrentInstance().getELContext(), "nav.home", null, new Class<?>[0]); pMenuItem0.setActionExpression(methodExpression); pmenu.getChildren().add(pMenuItem0); HtmlPanelMenuItem pMenuItem1 = (HtmlPanelMenuItem) app.createComponent(HtmlPanelMenuItem.COMPONENT_TYPE); pMenuItem1.setName("Templates"); pMenuItem1.setId("Templates"); pMenuItem1.setLabel("Templates"); methodExpression = app.getExpressionFactory().createMethodExpression(FacesContext.getCurrentInstance().getELContext(), "nav.templates", null, new Class<?>[0]); pMenuItem1.setActionExpression(methodExpression); pmenu.getChildren().add(pMenuItem1); } return pmenu; } public void setPmenu(HtmlPanelMenu menu) { pmenu = menu; } public String getSelected() { return selected; } public void setSelected(String selected) { this.selected = selected; }
<ui:composition> <rich:panelMenu binding="#{menu.pmenu}" selectedChild="#{menu.selected}"/> </ui:composition>
Thanks for the help
Rich