C4C*_*Exe 3 java jsf primefaces
我无法渲染primefaces 的面包屑控件.我正在使用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>
Run Code Online (Sandbox Code Playgroud)
请建议有没有其他选择?
要<p:breadCrumb>在PrimeFaces中动态构建菜单,您需要在bean中使用MenuModel对象来渲染breadCrumb组件.循环遍历创建MenuItems的跟踪列表,并将它们添加到MenuModel对象中.
在你的.xhtml中
<p:breadCrumb model="#{crumbBean.model}" />
Run Code Online (Sandbox Code Playgroud)
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;
}
}
Run Code Online (Sandbox Code Playgroud)