public class SelectItemsConverter
extends java.lang.Object
implements javax.faces.convert.Converter
This class can be used as-is provided the Object has a toString
method that uniquely identifies it and which
makes sense as an identifier. Since this is not the typical case for toString
, users are assumed to override
the getAsString
method and provide an implementation that converts an object to its string representation.
This getAsObject
method will then be used to automatically do the reverse mapping.
This converter is available by converter ID omnifaces.SelectItemsConverter
. Basic usage example:
<h:selectOneMenu value="#{bean.selectedEntity}" converter="omnifaces.SelectItemsConverter"> <f:selectItems value="#{bean.availableEntities}" var="entity" itemValue="#{entity}" itemLabel="#{entity.someProperty}" /> </h:selectOneMenu>
When extending this converter to override getAsString()
to return something simpler, such as the entity
ID by return String.valueOf(((Entity) value).getId());
, you only have to change the converter
attribute in the above example to refer the extended converter instead.
Constructor and Description |
---|
SelectItemsConverter() |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
getAsObject(javax.faces.context.FacesContext context,
javax.faces.component.UIComponent component,
java.lang.String value) |
java.lang.String |
getAsString(javax.faces.context.FacesContext context,
javax.faces.component.UIComponent component,
java.lang.Object value) |
public java.lang.Object getAsObject(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component, java.lang.String value)
getAsObject
in interface javax.faces.convert.Converter
public java.lang.String getAsString(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component, java.lang.Object value)
getAsString
in interface javax.faces.convert.Converter