The omnifaces.ToCollectionConverter is intented to convert submitted String values to a Java
collection based on a delimiter. Additionally, it trims any whitespace around each delimited submitted value. This is
useful for among others comma separated value inputs.
This converter is available by converter ID omnifaces.ToCollectionConverter. Just specify it in the
converter attribute of the component referring the Collection property. For example:
<h:inputText value="#{bean.commaSeparatedValues}" converter="omnifaces.ToCollectionConverter" />
Since OmniFaces 4.5 it's also available by <o:toCollectionConverter> tag.
<h:inputText value="#{bean.commaSeparatedValues}">
<o:toCollectionConverter />
</h:inputText>
The default delimiter is comma followed by space , and the default collection type is
java.util.LinkedHashSet for a Set property and java.util.ArrayList for anything
else, and the default converter for each item will in getAsString() be determined based on item type and
in getAsObject() be determined based on generic return type of the getter method.
The delimiter must be a String, the collectionType must be a FQN and the
itemConverter can be anything which is acceptable by Faces#createConverter(Object).
<h:inputText value="#{bean.uniqueOrderedSemiColonSeparatedNumbers}">
<o:toCollectionConverter delimiter=";"
collectionType="java.util.TreeSet"
itemConverter="jakarta.faces.Integer" />
</h:inputText>
| Info | Value |
|---|---|
| Converter ID | omnifaces.ToCollectionConverter |
| Handler Class | None |
| Description | None |
| Name | Required | Type | Description |
|---|---|---|---|
collectionType | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| The FQN of the collection to create. |
delimiter | false | jakarta.el.ValueExpression
(must evaluate to java.lang.String)
| The delimiter to split on. |
itemConverter | false | jakarta.el.ValueExpression
(must evaluate to java.lang.Object)
| The converter for the item. |
Output generated by Vdldoc View Declaration Language Documentation Generator.