2014-05-23 29 views
5

Primefaces kullanıyorum ve bir breadcrumb menüsü eklemek istiyorum. Breadcrumb'imi dinamik olarak nasıl yüklerim? Hangi öneri veya tecrübeye sahipsiniz?Bir primefaces breadcrumb dinamik nasıl oluşturulur?

<p:breadCrumb> 
    <p:menuitem value="Categories" url="#" /> 
    <p:menuitem value="Sports" url="#" /> 
    <p:menuitem value="Basketball" url="#" /> 
    <p:menuitem value="NBA" url="#" /> 
    <p:menuitem value="Teams" url="#" /> 
    <p:menuitem value="L.A. Lakers" url="#" /> 
    <p:menuitem value="Roster" url="#" /> 
    <p:menuitem value="Kobe Bryant" url="#" /> 
</p:breadCrumb> 
özelliğinde bir model olarak

Documentation to primefaces

cevap

6

BreadCrumb. Eğer sadece ekmek kırıntısını içi şöyle modeli aramak zorunda Bundan sonra

public class MenuBean { 
    private MenuModel model; 

    public MenuBean() { 
     model = new DefaultMenuModel(); 
     // First submenu 
     DefaultSubMenu firstSubmenu = new DefaultSubMenu("Dynamic Submenu"); 
     DefaultMenuItem item = new DefaultMenuItem("External"); 
     item.setUrl("http://www.primefaces.org"); 
     item.setIcon("ui-icon-home"); 
     firstSubmenu.addElement(item); 
     model.addElement(firstSubmenu); 
     // Second submenu 
     DefaultSubMenu secondSubmenu = new DefaultSubMenu("Dynamic Actions"); 
     item = new DefaultMenuItem("Save"); 
     item.setIcon("ui-icon-disk"); 
     item.setCommand("#{menuBean.save}"); 
     item.setUpdate("messages"); 
     secondSubmenu.addElement(item); 
     item = new DefaultMenuItem("Delete"); 
     item.setIcon("ui-icon-close"); 
     item.setCommand("#{menuBean.delete}"); 
     item.setAjax(false); 
     secondSubmenu.addElement(item); 
     item = new DefaultMenuItem("Redirect"); 
     item.setIcon("ui-icon-search"); 
     item.setCommand("#{menuBean.redirect}"); 
     secondSubmenu.addElement(item); 
     model.addElement(secondSubmenu); 
    } 

    public MenuModel getModel() { 
     return model; 
    } 
} 

: Bu bir Primefaces Documentation den MenuBar için bu örnekteki gibi dinamik Menuıtem yaratmaya yarar (Tabii ki, içerik haritası için bu bir uyum sağlamak zorunda):

<h:form>   
    <p:breadCrumb model="#{breadcrumbVO.menuModel}"> 
    </p:breadCrumb> 
</h:form>  

Ve destek modeli gibi görünecektir:: dinamik sayfa işareti uygulamasının

model="#{menuBean.model}" 
0

çok yalın bir örnek olacaktır

import javax.faces.bean.ManagedBean; 
import javax.faces.bean.ViewScoped; 

import org.primefaces.model.menu.DefaultMenuItem; 
import org.primefaces.model.menu.DefaultMenuModel; 
import org.primefaces.model.menu.MenuModel; 

@ManagedBean 
@ViewScoped 
public class BreadcrumbVO {   

    private MenuModel menuModel; 

    public BreadcrumbVO() { 
     menuModel = new DefaultMenuModel(); 
     DefaultMenuItem menuItem = new DefaultMenuItem(); 
     menuItem.setValue("Test Value"); 
     //you can add multiple elements in a similar fashion. 
     //for simplicity I have added just one 
     menuModel.addElement(menuItem);   
    } 

    public MenuModel getMenuModel() { 
     return menuModel; 
    } 

    public void setMenuModel(MenuModel menuModel) { 
     this.menuModel = menuModel; 
    }  
} 
İlgili konular