无法在弹出窗口中显示 p:selectone
Unable to display a p:selectone in a popup
我知道 primefaces 提供的 selectonelistbox
http://www.primefaces.org/showcase/ui/input/listbox.xhtml
有没有办法让这个作为选择的弹出窗口?例如,在 JSF 视图上,如果我单击空白图像(全白图像),我如何获得选择列表框的弹出窗口,选择一个关闭弹出窗口并在父视图中设置值的值?
我需要为弹出窗口创建一个新视图吗?弹出视图 bean 的范围应该是什么?
在您的 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;
}
我知道 primefaces 提供的 selectonelistbox http://www.primefaces.org/showcase/ui/input/listbox.xhtml
有没有办法让这个作为选择的弹出窗口?例如,在 JSF 视图上,如果我单击空白图像(全白图像),我如何获得选择列表框的弹出窗口,选择一个关闭弹出窗口并在父视图中设置值的值?
我需要为弹出窗口创建一个新视图吗?弹出视图 bean 的范围应该是什么?
在您的 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;
}