Class UISelectOne

All Implemented Interfaces:
EventListener, EditableValueHolder, PartialStateHolder, StateHolder, TransientStateHolder, ValueHolder, ComponentSystemEventListener, FacesListener, SystemEventListenerHolder

public class UISelectOne extends UIInput

UISelectOne is a UIComponent that represents the user's choice of zero or one items from among a discrete set of available options. The user can modify the selected value. Optionally, the component can be preconfigured with a currently selected item, by storing it as the value property of the component.

This component is generally rendered as a select box or a group of radio buttons.

By default, the rendererType property is set to "javax.faces.Menu". This value can be changed by calling the setRendererType() method.

  • Field Details

    • COMPONENT_TYPE

      public static final String COMPONENT_TYPE

      The standard component type for this component.

      See Also:
    • COMPONENT_FAMILY

      public static final String COMPONENT_FAMILY

      The standard component family for this component.

      See Also:
    • INVALID_MESSAGE_ID

      public static final String INVALID_MESSAGE_ID

      The message identifier of the FacesMessage to be created if a value not matching the available options is specified.

      See Also:
  • Constructor Details

    • UISelectOne

      public UISelectOne()

      Create a new UISelectOne instance with default property values.

  • Method Details

    • getFamily

      public String getFamily()
      Description copied from class: UIComponent

      Return the identifier of the component family to which this component belongs. This identifier, in conjunction with the value of the rendererType property, may be used to select the appropriate Renderer for this component instance.

      Overrides:
      getFamily in class UIInput
    • validateValue

      protected void validateValue(FacesContext context, Object value)

      In addition to the standard validation behavior inherited from UIInput, ensure that any specified value is equal to one of the available options. Before comparing each option, coerce the option value type to the type of this component's value following the Expression Language coercion rules. If the specified value is not equal to any of the options, enqueue an error message and set the valid property to false.

      If UIInput.isRequired() returns true, and the current value is equal to the value of an inner UISelectItem whose UISelectItem.isNoSelectionOption() method returns true, enqueue an error message and set the valid property to false.

      Overrides:
      validateValue in class UIInput
      Parameters:
      context - The FacesContext for the current request
      value - The converted value to test for membership.
      Throws:
      NullPointerException - if context is null