无法在弹出窗口中显示p:selectone

时间:2015-09-02 16:50:54

标签: jsf-2 primefaces popup parent-child selectonemenu

我知道primefaces提供的selectonelistbox http://www.primefaces.org/showcase/ui/input/listbox.xhtml

有没有办法将其作为选择弹出窗口?例如,在JSF视图中,如果单击空白图像(全白图像),如何弹出选择列表框,选择关闭弹出窗口的值并在父视图中设置值?

我是否需要为poup创建一个新视图?弹出视图bean的范围应该是什么?

1 个答案:

答案 0 :(得分:1)

在您的xhtml页面中:

<h:form>
    <p:graphicImage id="image" style="width:300px; height: 200px; background-color:white;" 
        url="#{yourBean.selectedImage}"  alt="No selection"
        onclick="PF('dlg').show();"/>

    <p:dialog header="Photo selection" widgetVar="dlg" resizable="false">
        <h:panelGrid columns="1" cellpadding="5">

        <p:selectOneListbox value="#{yourBean.selectedImage}">
            <f:selectItem itemLabel="Image 1" itemValue="http://oi44.tinypic.com/2mzdrvq.jpg" />
            <f:selectItem itemLabel="Image 2" itemValue="http://oi42.tinypic.com/2itk12a.jpg" />
        </p:selectOneListbox>           

            <f:facet name="footer">
                <p:commandButton value="Refresh" update="image" oncomplete="PF('dlg').hide()"/>
            </f:facet>  
        </h:panelGrid>  

    </p:dialog>
</h:form>

在你的支持bean中,只需添加selectedImage属性及其相应的getter和setter方法。

private String selectedImage;

public String getSelectedImage() {
    return selectedImage;
}

public void setSelectedImage(String selectedImage) {
    this.selectedImage = selectedImage;
}