在p:selectOneMenu中使用动态数据和Converter提供通配符f:selectItem值

时间:2013-07-12 09:42:32

标签: jsf-2 primefaces

我有一个<p:selectOneMenu>组件,它由一些Class的实例数组(比如ClassABC)提供。在selectItems列表的顶部,我想提供一个<f:selectItem>作为通配符/任意选项,它的值应该是一个空对象。

我设法将此作品

<p:selectOneMenu  
        value="#{someBean.selectedInstance}"
        converter="classABCDConverter" >
    <!--  Wildcard Value -->
    <f:selectItem itemLabel=" * Any * " itemValue="" />

    <!-- Dynamic Data with Real Instances -->
    <f:selectItems 
        var="result"
        value="#{someBean.arrayOfInstancesOfClassABCD}"
        ....
         />
</p:selectOneMenu>

到目前为止,这似乎有效,因为选择-any-选择项会将空对象赋予someBean.selectedInstance。我想itemValue=""使转换器返回一个空对象,所以它可能看起来合法。

但我很好奇这是否是最安全,最有效的方式。

编辑:或者我可以使用noSelectionOption="true" 所以,例如,从下面的两个方面会更好:

<f:selectItem itemLabel=" * Any * " itemValue="" />

<f:selectItem itemLabel=" * Any * " noSelectionOption="true" />

0 个答案:

没有答案