package com.fedex.sales.framesmyfaces; import java.util.ArrayList; import java.util.List; import javax.faces.component.UIParameter; import javax.faces.context.FacesContext; import javax.faces.el.MethodBinding; import com.icesoft.faces.component.menubar.MenuItem; public class CustomMenuModel { private static CustomMenuModel menuModel; private List modelData; public static CustomMenuModel newInstance() { if(menuModel==null) { menuModel=new CustomMenuModel(); } return menuModel; } public List getModelData() { modelData = new ArrayList(); MenuItem topLevel = new MenuItem(); topLevel.setValue("Top level item"); modelData.add(topLevel); MethodBinding method1 = FacesContext.getCurrentInstance() .getApplication().createMethodBinding( "#{menuHandler.handleTest1}", new Class[] { javax.faces.event.ActionEvent.class }); MenuItem subMenu1 = new MenuItem(); subMenu1.setId("subMenu1"); subMenu1.setValue("Test1"); subMenu1.setActionListener(method1); UIParameter subMenu1Param=new UIParameter(); subMenu1Param.setId("testParam_Id"); subMenu1Param.setName("testParam_Name"); subMenu1Param.setValue("testParam_Value"); subMenu1Param.setTransient(true); subMenu1.getChildren().add(subMenu1Param); MenuItem subMenu2 = new MenuItem(); subMenu2.setId("subMenu2"); subMenu2.setValue("Test2"); topLevel.getChildren().add(subMenu1); topLevel.getChildren().add(subMenu2); return modelData; } }