2013-02-01 57 views
2

嗨我建立DefaultMenuModel程序正在使用由組件如下如何從Primefaces麪包屑的DefaultMenuModel

`<p:breadCrumb id="pbreadcrumb" model="#{portalNavigator.model}"/>` 

,這是從PortalNavigator豆的代碼添加菜單項到對象模型,它是刪除菜單項類型爲DefaultMenuModel。

DefaultMenuModel model=new DefaultMenuModel();  
MenuItem item=new MenuItem(); 
item.setId("home"); 
item.setUrl("/getPortal"); 
item.setValue("Home"); 
model.addMenuItem(item); 

我的問題是怎樣才能把DefaultMenuModel一個菜單項,是什麼做的呢?

回答

2

你可以通過DefaultMenuModel#getContents()得到它們,它會返回一個List<UIComponent>,其中的項目可以轉換爲MenuItem。在Iterator中循環播放它們。一旦找到想要刪除的項目,請使用Iterator#remove()方法。

Iterator<UIComponent> iterator = model.getContents().iterator(); 

while (iterator.hasNext()) { 
    MenuItem item = (MenuItem) iterator.next(); 

    if (needsRemoval(item)) { 
     iterator.remove(); 
    } 
} 

或者,如果你已經知道索引事先,你也可以只是做:

model.getContents().remove(index); 
+0

謝謝你的回答,嘗試過了,它是工作:) – Pranjali

+0

不客氣。 – BalusC