Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Primefaces 如何从Bean类设置p:breadcrumb的菜单项_Primefaces_Breadcrumbs - Fatal编程技术网

Primefaces 如何从Bean类设置p:breadcrumb的菜单项

Primefaces 如何从Bean类设置p:breadcrumb的菜单项,primefaces,breadcrumbs,Primefaces,Breadcrumbs,重要提示: 有两种方法 crumBean();=>此方法设置“p:menubar”primefaces组件 面包();=>此方法用于设置“p:breadcrumb”primefaces组件,我无法设置该组件,这是我的实际问题 我的问题: 如何从Bean类设置primefaces面包屑菜单 我已经浏览了这些链接,但没有找到有用的 这是我的密码: Bean类 package test; import java.util.ArrayList; import java.ut

重要提示:

  • 有两种方法
  • crumBean();=>此方法设置“p:menubar”primefaces组件
  • 面包();=>此方法用于设置“p:breadcrumb”primefaces组件,我无法设置该组件,这是我的实际问题
我的问题: 如何从Bean类设置primefaces面包屑菜单

我已经浏览了这些链接,但没有找到有用的

这是我的密码:

Bean类

 package test;

    import java.util.ArrayList;
    import java.util.List;

    import javax.annotation.PostConstruct;   
    import org.primefaces.component.breadcrumb.BreadCrumb;
    import org.primefaces.component.menuitem.UIMenuItem;
    import org.primefaces.model.menu.DefaultMenuItem;
    import org.primefaces.model.menu.DefaultMenuModel;
    import org.primefaces.model.menu.DefaultSeparator;
    import org.primefaces.model.menu.DefaultSubMenu;
    import org.primefaces.model.menu.DynamicMenuModel;
    import org.primefaces.model.menu.MenuElement;
    import org.primefaces.model.menu.MenuModel;
    import org.springframework.context.annotation.Scope;
    import org.springframework.stereotype.Component;    

    @Component("breadBean")
    @Scope(value = "view")
    @SuppressWarnings("all")
    public class BreadCrumBean {

        BreadCrumb breadCrum = new BreadCrumb();
        MenuModel menuModel = new DynamicMenuModel();
        private MenuModel menubar = new DefaultMenuModel();     

        @PostConstruct
        public void init(){
            try {               
                crumBean();
                bread();

            } catch (Exception e) {
                e.printStackTrace();
        FacesUtil.addErrorMessage(FacesUtil.getBundleKey(Constants.MESSAGE_RESOURCE,  "general.generalError"));
            }           
        }       
        public void crumBean(){

            DefaultSubMenu home = new DefaultSubMenu("Home");
            DefaultSubMenu home1 = new DefaultSubMenu("Home1");
            DefaultSubMenu index = new DefaultSubMenu("Index");

            DefaultMenuItem home2 = new DefaultMenuItem("Home2");
            DefaultMenuItem home3 = new DefaultMenuItem("Home3");

            DefaultMenuItem index1 = new DefaultMenuItem("Index1");

            DefaultMenuItem index2 = new DefaultMenuItem("Index2");
            index2.setAjax(false);

            DefaultMenuItem index3 = new DefaultMenuItem("Index3");
            index3.setUrl("http://www.primefaces.org/showcase/");

            DefaultMenuItem index4 = new DefaultMenuItem("Index4");
            DefaultMenuItem index5 = new DefaultMenuItem("Index5");

            home1.addElement(index1);
            home1.addElement(index2);
            home1.addElement(index3);

            index.addElement(index4);
            index.addElement(index5);
            index.addElement(new DefaultSeparator());
            index.addElement(index3);

            home.addElement(home1);
            home.addElement(home2);
            home.addElement(new DefaultSeparator());
            home.addElement(home3);

            this.menubar.addElement(home);
            this.menubar.addElement(index);
        }       
        public void bread(){

            DefaultSubMenu bread = new DefaultSubMenu("Bread");
            DefaultSubMenu bread1 = new DefaultSubMenu("Bread1");
            DefaultSubMenu crumb = new DefaultSubMenu("Crumb");

            DefaultMenuItem bread2 = new DefaultMenuItem("Bread2");
            DefaultMenuItem bread3 = new DefaultMenuItem("Bread3");

            DefaultMenuItem bread12 = new DefaultMenuItem("Bread12");

            DefaultMenuItem bread21 = new DefaultMenuItem("Bread21");
            bread21.setAjax(false);

            DefaultMenuItem bread31 = new DefaultMenuItem("Bread31");
            bread31.setUrl("http://www.primefaces.org/showcase/");

            DefaultMenuItem crumb1 = new DefaultMenuItem("Crumb1");
            DefaultMenuItem crumb2 = new DefaultMenuItem("Crumb2");

            bread1.addElement(bread12);
            bread1.addElement(bread21);
            bread1.addElement(bread31);

            crumb.addElement(crumb1);
            crumb.addElement(crumb2);
            crumb.addElement(new DefaultSeparator());
            crumb.addElement(bread31);

            bread.addElement(bread1);
            bread.addElement(bread2);
            bread.addElement(new DefaultSeparator());
            bread.addElement(bread3);

            this.menuModel.addElement(bread);
            this.menuModel.addElement(crumb);
            //How to set menuItem or menumodel in breadcrumb component
        }    
        public BreadCrumb getBreadCrum() {
            return breadCrum;
        }    
        public void setBreadCrum(BreadCrumb breadCrum) {
            this.breadCrum = breadCrum;
        }    
        public MenuModel getMenuModel() {
            return menuModel;
        }    
        public void setMenuModel(MenuModel menuModel) {
            this.menuModel = menuModel;
        }
        public MenuModel getMenubar() {
            return menubar;
        }
        public void setMenubar(MenuModel menubar) {
            this.menubar = menubar;
        }
    }
test.xhtml

<!DOCTYPE html >
    <html xmlns="http://www.w3.org/1999/xhtml"
        xmlns:ui="http://java.sun.com/jsf/facelets"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:f="http://java.sun.com/jsf/core"
        xmlns:c="http://java.sun.com/jsp/jstl/core"
        xmlns:fn="http://java.sun.com/jsp/jstl/functions"
        xmlns:p="http://primefaces.org/ui">
    <h:head>
    <style type="text/css">
                .bread-crum {
                     border: none;
                }
                .bread-crum a { 
                     text-decoration: inherit;
                }
                .bread-crum .ui-state-disabled{
                     opacity: inherit;
                     color:black;
                     font-weight:bold;
                     font-style: normal;
                }   
    </style>
    <script name="jquery/jquery.js" library="primefaces"></script>
        <title>BreadCrumb</title>
    </h:head>
<h:body>
     <h:form id="testForm"> 
                    <p:menubar  model="#{breadBean.menubar}" styleClass="bread-crum"></p:menubar>       
                    <p:breadCrumb model="#{breadBean.menuModel}">
                        <p:menuitem value="#{breadBean.menuModel}"> </p:menuitem>
                    </p:breadCrumb>     
            </h:form>
        </h:body>
        </html>

.面包团{
边界:无;
}
.面包团{
文字装饰:继承;
}
.bread crum.ui状态已禁用{
不透明度:继承;
颜色:黑色;
字体大小:粗体;
字体风格:普通;
}   
面包屑
我已经浏览了这些链接,但没有发现有帮助

如果你再看一遍(第一个答案),你会发现你的问题几乎是一样的。组件的模型只接受
org.primefaces.Model.menu.MenuItem
的实例作为其元素

可能您不会得到任何异常,因为您有不同版本的PrimeFaces(空面包屑在版本6.0中呈现)

注意: