簡體   English   中英

Primefaces:如何創建 <p:menubar> 動態在primefaces 4?

[英]Primefaces : how to create <p:menubar> dynamically in primefaces 4?

我正在從素面3.4遷移到素面4。我已經在素面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: <p:menubar model="#{menuBean.simpleMenuModel}"/>

現在在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);
            }
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM