gpt4 book ai didi

jsf - 如何从 Primefaces Breadcrumb 的 DefaultMenuModel 中删除 MenuItem

转载 作者:行者123 更新时间:2023-12-04 05:13:11 24 4
gpt4 key购买 nike

嗨,我正在以编程方式构建 DefaultMenuModel,组件正在使用它,如下所示

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

这是来自 PortalNavigator Bean 的代码,它将 MenuItem 添加到类型为 DefaultMenuModel 的对象模型中。
DefaultMenuModel model=new DefaultMenuModel();    
MenuItem item=new MenuItem();
item.setId("home");
item.setUrl("/getPortal");
item.setValue("Home");
model.addMenuItem(item);

我的问题是如何从 DefaultMenuModel 中删除 MenuItem,有什么方法可以做到?

最佳答案

您可以通过 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);

关于jsf - 如何从 Primefaces Breadcrumb 的 DefaultMenuModel 中删除 MenuItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14641569/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com