2014-05-23 2 views
5

저는 primefaces를 사용하고 있으며 이동 경로 메뉴를 추가하려고합니다. 탐색 경로를 동적으로로드하려면 어떻게해야합니까? 당신에게 어떤 조언이나 경험이 있습니까?primefaces breadcrumb를 동적으로 만드는 방법은 무엇입니까?

<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> 
특성에 model 같은

Documentation to primefaces

답변

6

이동 경로. 당신은 당신의 이동 경로 내부의이 같은 모델을 호출해야이 후

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; 
    } 
} 

:이 하나가 Primefaces Documentation에서의 MenuBar이 예제와 같이 동적으로 메뉴 항목을 생성하는 역할을한다 (물론, 당신은 이동 경로에 대해이 하나를 적용해야합니다) :

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

그리고 백업 모델과 같습니다 : 동적 이동 경로 구현의

model="#{menuBean.model}" 
0

매우 린 예로들 수 있습니다

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; 
    }  
} 
관련 문제