gpt4 book ai didi

java - primefaces 面包屑不适用于 ui :repeat

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:56:17 26 4
gpt4 key购买 nike

我无法呈现 primefaces 的 breadcrumb 控件。我正在使用 ui:repeat 动态构建面包屑。当我将它包裹在 p:breadCrumb 标签中时,我无法在页面上看到该控件

以下是我在 .xhtml 中使用的代码

        <p:breadCrumb>
<ui:repeat value="#{conversationScope.trail}" var="bcrumb">
<h:outputLink value="#{bcrumb.url}">
<h:outputText value="#{bcrumb.label}" />
<h:outputText value=">" />
</h:outputLink>
<p:menuitem value="#{bcrumb.label}" url="#{bcrumb.url}" />
</ui:repeat>
</p:breadCrumb>

请问还有其他选择吗?

最佳答案

构建一个<p:breadCrumb>在 PrimeFaces 中动态地创建菜单,您会希望在 bean 中使用 MenuModel 对象来呈现 breadCrumb 组件。循环遍历创建 MenuItems 的路径列表并将它们添加到 MenuModel 对象。

在你的 .xhtml 中

<p:breadCrumb model="#{crumbBean.model}" />

将菜单项添加到面包屑菜单的 Bean。

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import org.primefaces.component.menuitem.MenuItem;
import org.primefaces.model.DefaultMenuModel;
import org.primefaces.model.MenuModel;

@ManagedBean
@RequestScoped
public class CrumbBean {

private MenuModel model;

public CrumbBean() {
model = new DefaultMenuModel();
MenuItem item1 = new MenuItem();
item1.setValue("First");
item1.setUrl("#");
model.addMenuItem(item1);

MenuItem item2 = new MenuItem();
item2.setValue("Second");
item2.setUrl("#");
model.addMenuItem(item2);
}

public MenuModel getModel() {
return model;
}

}

关于java - primefaces 面包屑不适用于 ui :repeat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6386356/

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