The omnifaces.ListConverter is intented for use in specialized selection components which doesn't
use SelectItems as the source for their selectable items, but work directly via a List of entities,
and therefore the SelectItemsConverter isn't usable on them.
This converter allows you to populate a selection component with complex Java objects and have Faces convert those
automatically back without the need to provide a custom converter which may need to do the job based on possibly
expensive service/DAO operations. This converter automatically converts based on the #toString() of the
selected item.
This converter is available by converter ID omnifaces.ListConverter and should be used in combination
with <o:converter> in order to be able to pass the List source to it, which it can use
for conversion. Here's a basic usage example with PrimeFaces <p:pickList>, which is one of the
few select components which doesn't use SelectItems as the source, but work directly via a List.
<p:pickList value="#{bean.dualListModel}" var="entity" itemValue="#{entity}" itemLabel="#{entity.someProperty}">
<o:converter converterId="omnifaces.ListConverter" list="#{bean.dualListModel.source}" />
</p:pickList>
Since OmniFaces 4.5 it's also available by <o:listConverter> tag.
<p:pickList value="#{bean.dualListModel}" var="entity" itemValue="#{entity}" itemLabel="#{entity.someProperty}">
<o:listConverter" list="#{bean.dualListModel.source}" />
</p:pickList>
toString() implementation
For detail, refer the javadoc of SelectItemsConverter and substitute "SelectItemsConverter" by
"ListConverter" and "SelectItemsIndexConverter" by "ListIndexConverter".
| Info | Value |
|---|---|
| Converter ID | omnifaces.ListConverter |
| Handler Class | None |
| Description | None |
| Name | Required | Type | Description |
|---|---|---|---|
list | true | jakarta.el.ValueExpression
(must evaluate to java.util.List)
| The list of available items. |
Output generated by Vdldoc View Declaration Language Documentation Generator.