Primefaces:如何在primefaces 4中动态创建?
我正在从primefaces 3.4迁移到primfaces 4.我已经在primefaces 3.4中创建了菜单栏,没有任何问题。 这是豆子:
public MenuBean() { MenuItem menuItem = new MenuItem(); Submenu submenu = new Submenu(); submenu.setLabel("Nos Solutions"); menuItem.setValue("Computers"); menuItem.setUrl("#"); submenu.getChildren().add(menuItem); menuItem = new MenuItem(); menuItem.setValue("Clothes"); menuItem.setUrl("#"); submenu.getChildren().add(menuItem); simpleMenuModel.addSubmenu(submenu); submenu = new Submenu(); submenu.setLabel("Nos Problemes"); menuItem.setValue("Computers"); menuItem.setUrl("#"); submenu.getChildren().add(menuItem); menuItem = new MenuItem(); menuItem.setValue("Clothes"); menuItem.setUrl("#"); submenu.getChildren().add(menuItem); simpleMenuModel.addSubmenu(submenu); submenu = new Submenu(); submenu.setLabel("Nos Solutions"); menuItem.setValue("Computers"); menuItem.setUrl("#"); submenu.getChildren().add(menuItem); menuItem = new MenuItem(); menuItem.setValue("Clothes"); menuItem.setUrl("#"); submenu.getChildren().add(menuItem); simpleMenuModel.addSubmenu(submenu); submenu = new Submenu(); submenu.setLabel("Nos Solutions"); menuItem.setValue("Computers"); menuItem.setUrl("#"); submenu.getChildren().add(menuItem); Submenu submenu1 = new Submenu(); submenu1.setLabel("Offres"); menuItem = new MenuItem(); menuItem.setValue("Stage Etudiants"); menuItem.setUrl("#"); submenu1.getChildren().add(menuItem); menuItem = new MenuItem(); menuItem.setValue("Jeunes diplomés"); menuItem.setUrl("#"); submenu1.getChildren().add(menuItem); submenu.getChildren().add(submenu1); menuItem = new MenuItem(); menuItem.setValue("Clothes"); menuItem.setUrl("#"); submenu.getChildren().add(menuItem); simpleMenuModel.addSubmenu(submenu); menuItem = new MenuItem(); menuItem.setValue("Clothe"); menuItem.setUrl("#"); simpleMenuModel.addMenuItem(menuItem); } public MenuModel getSimpleMenuModel() { return simpleMenuModel; }
这里是xhtml:
现在在primefaces 4中,类/接口似乎已经改变,我不知道在这个版本中这样做。 请有人帮忙!!!
请看一下页面:
PrimeFaces – 新的MenuModel 。
简单的例子:
MenuModel model = new DefaultMenuModel(); DefaultSubMenu subMenu = new DefaultSubMenu("some submenu"); DefaultMenuItem menuItem = new DefaultMenuItem("some item"); subMenu.addElement(menuItem); model.addElement(subMenu); model.generateUniqueIds();
方法generateUniqueIds()
将使您免于自己创建和设置id字符串。
我个人在primeface 4.0上动态创建我的菜单:
豆:
private MenuModel menumodel = new DefaultMenuModel(); //create the first menu item DefaultMenuItem accueil = new DefaultMenuItem("Accueil"); accueil.setStyleClass("accueil"); accueil.setUrl("/accueil.jsf"); this.menumodel.addElement(accueil); //Start here i create submenu with personal access for all user for (Autorisation auto : this.permList) { if (auto.getRessource().getSousMenu() != null) { if (auto.getRessource().getSousMenu().size() != 0) { //Create submenu DefaultSubMenu submenu = new DefaultSubMenu(); submenu.setIcon(null); submenu.setLabel(auto.getRessource().getMenu()); this.menumodel.addElement(submenu); for (Ressource r : auto.getRessource().getSousMenu()) { //Feed submenu with menu item DefaultMenuItem item = new DefaultMenuItem(); item.setValue(r.getMenu()); item.setUrl(r.getPath()); submenu.addElement(item); } } } }