<p:selectOneMenu>
いくつかのクラス(ClassABCなど)のインスタンスの配列が供給されるコンポーネントがあります。<f:selectItem>
selectItems リストの先頭に、ワイルドカード/任意のオプションとして機能する を提供したいと思います。その値は null オブジェクトである必要があります。
私はなんとかこれを次のように機能させることができました
<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-select アイテムを選択すると null オブジェクトが に渡されるため、これは機能しているようsomeBean.selectedInstance
です。これにより Converter が null オブジェクトを返すようになると思うitemValue=""
ので、おそらく正当に見えます。
しかし、これが最も安全で効率的な方法であるかどうか、私はただ興味があります.
編集:別noSelectionOption="true"
の方法として、たとえば、次の2つからの方が良いでしょう:
<f:selectItem itemLabel=" * Any * " itemValue="" />
また
<f:selectItem itemLabel=" * Any * " noSelectionOption="true" />