如何以编程方式将图像添加到primefaces菜单栏?

时间:2015-02-09 17:17:27

标签: image jsf primefaces menuitem menubar

我有一个带有图像的菜单栏,并希望将其更改为编程代码以动态生成。但是,我无法获得图片。

有关如何以程序方式添加图像的任何建议吗?

这是我原来的xhtml代码:

<p:menubar>
    <p:menuitem>
        <p:link outcome="/index.xhmtl">
            <p:graphicImage url="http://upload.wikimedia.org/wikipedia/commons/8/81/Wikimedia-logo.svg" height="50"/>
        </p:link>
    </p:menuitem>
    <p:submenu label="Routine">
        <p:menuitem value="Item 1" outcome="/routine/item1.xhtml"/>
        <p:menuitem value="Item 2" outcome="/routine/item2.xhtml"/>
        <p:menuitem value="Item 3" outcome="/routine/item3.xhtml"/>
    </p:submenu>
    <p:submenu label="Lab">
        <p:menuitem value="Item 1" outcome="/lab/item1.xhtml"/>
        <p:menuitem value="Item 2" outcome="/lab/item2.xhtml"/>
    </p:submenu>
</p:menubar>

这是我的新java代码:

MenuModel model = new DefaultMenuModel();
DefaultMenuItem item = new DefaultMenuItem("Default");
DefaultSubMenu submenu = new DefaultSubMenu("Default");

submenu = new DefaultSubMenu("Routine");
item = new DefaultMenuItem("Item 1");
item.setOutcome("/routine/item1.xhtml");
submenu.addElement(item);
item = new DefaultMenuItem("Item 2");
item.setOutcome("/routine/item2.xhtml");
submenu.addElement(item);
model.addElement(submenu);

如何使用链接添加图像? 我无法通过程序化工作。

这会在行上生成一个nullpointer:submenu.addElement

这就是我尝试添加图片的方式:我需要帮助。这不起作用。

submenu = new DefaultSubMenu("Logo");
GraphicImage image = new GraphicImage();
image.setUrl("http://upload.wikimedia.org/wikipedia/commons/8/81/Wikimedia-logo.svg");
image.setHeight("50");
item = new DefaultMenuItem("Logo");
submenu.addElement(item);
model.addElement(submenu);

0 个答案:

没有答案