我有一个<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" />