java.lang.Object
org.apache.wicket.Component
org.apache.wicket.MarkupContainer
org.apache.wicket.markup.html.WebMarkupContainer
org.apache.wicket.markup.html.form.LabeledWebMarkupContainer
org.apache.wicket.markup.html.form.FormComponent<T>
org.apache.wicket.extensions.markup.html.form.select.Select<T>
Type Parameters:
T -
All Implemented Interfaces:
Serializable, Iterable<org.apache.wicket.Component>, org.apache.wicket.event.IEventSink, org.apache.wicket.event.IEventSource, org.apache.wicket.feedback.IFeedbackContributor, org.apache.wicket.IConverterLocator, org.apache.wicket.IGenericComponent<T,org.apache.wicket.markup.html.form.FormComponent<T>>, org.apache.wicket.IMetadataContext<Serializable,org.apache.wicket.Component>, org.apache.wicket.markup.html.form.IFormModelUpdateListener, org.apache.wicket.markup.html.form.IFormVisitorParticipant, org.apache.wicket.markup.html.form.ILabelProvider<String>, org.apache.wicket.markup.html.IHeaderContributor, org.apache.wicket.request.component.IRequestableComponent, org.apache.wicket.util.IHierarchical<org.apache.wicket.Component>, org.apache.wicket.util.io.IClusterable

public class Select<T> extends org.apache.wicket.markup.html.form.FormComponent<T>
Component that represents a <select> box. Elements are provided by one or more SelectOptions components in the hierarchy below the Select component. Advantages to the standard choice components is that the user has a lot more control over the markup between the <select> tag and its children <option> tags: allowing for such things as <optgroup> tags.

Example HTML:

    <select wicket:id="select" multiple="multiple">
        <wicket:container wicket:id="options">
            <option wicket:id="option">Option Label</option>
        </wicket:container>
    </select>
 
Related Java Code:
 Select select = new Select("select", selectionModel);
 add(select);
 SelectOptions options = new SelectOptions("options", elements, renderer);
 select.add(options);
 
Note that you don't need to add component(s) for the <option> tag - they are created by SelectOptions

Note: due to the usage of a SelectOption for each <option> the memory footprint of the page will grow with the number of <option>s you need. Consider using DropDownChoice component if it is able to fulfill your requirements.

Author:
Igor Vaynberg
See Also:
  • Field Summary

    Fields inherited from class org.apache.wicket.markup.html.form.FormComponent

    FLAG_CONVERT_EMPTY_INPUT_STRING_TO_NULL, VALUE_SEPARATOR

    Fields inherited from class org.apache.wicket.Component

    ENABLE, FLAG_INITIALIZED, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED8, PARENT_PATH, PATH_SEPARATOR, RENDER, RFLAG_CONTAINER_DEQUEING, RFLAG_CONTAINER_HAS_REMOVALS
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor that will create a default model collection
    Select(String id, org.apache.wicket.model.IModel<T> model)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    protected String
     
    protected boolean
    isSelected(org.apache.wicket.model.IModel<?> model)
    Does the given model contain a selected value.
    void
     

    Methods inherited from class org.apache.wicket.markup.html.form.FormComponent

    add, add, checkRequired, clearInput, convertValue, error, getConvertedInput, getDefaultLabel, getDefaultLabel, getForm, getInput, getInputAsArray, getInputName, getParameterValues, getRawInput, getType, getValidatorKeyPrefix, getValidators, getValue, hasRawInput, inputAsInt, inputAsInt, inputAsIntArray, inputChanged, internalOnModelChanged, invalid, isFormParticipant, isInputNullable, isMultiPart, isRequired, isValid, newValidatable, newValidationError, onBeforeRender, onComponentTag, onDetach, onDisabled, onInvalid, onValid, processChildren, processInput, remove, reportRequiredError, setConvertedInput, setLabel, setModelValue, setRequired, setType, shouldTrimInput, trim, updateAutoLabels, updateAutoLabels, updateCollectionModel, valid, validate, validateRequired, validateValidators, visitComponentsPostOrder, visitFormComponentsPostOrder

    Methods inherited from class org.apache.wicket.markup.html.form.LabeledWebMarkupContainer

    getLabel

    Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer

    getWebApplication, getWebPage, getWebRequest, getWebResponse, getWebSession

    Methods inherited from class org.apache.wicket.MarkupContainer

    add, addDequeuedComponent, addOrReplace, autoAdd, canDequeueTag, contains, dequeue, dequeue, dequeuePreamble, findChildComponent, findComponentToDequeue, get, getAssociatedMarkup, getAssociatedMarkupStream, getMarkup, getMarkupType, getRegionMarkup, internalAdd, internalInitialize, iterator, iterator, newDequeueContext, onComponentTagBody, onInitialize, onRender, queue, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderNext, replace, setDefaultModel, size, stream, streamChildren, toString, toString, visitChildren, visitChildren

    Methods inherited from class org.apache.wicket.Component

    add, addStateChange, beforeRender, canCallListener, canCallListenerAfterExpiry, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, clearOriginalDestination, configure, continueToOriginalDestination, createConverter, debug, detach, detachModel, detachModels, determineVisibility, error, exceptionMessage, fatal, findMarkupStream, findPage, findParent, findParentWithAssociatedMarkup, getAjaxRegionMarkupId, getApplication, getBehaviorById, getBehaviorId, getBehaviors, getBehaviors, getClassRelativePath, getConverter, getDefaultModel, getDefaultModelObject, getDefaultModelObjectAsString, getDefaultModelObjectAsString, getEscapeModelStrings, getFeedbackMessages, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkup, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdFromMarkup, getMarkupIdImpl, getMarkupSourcingStrategy, getMarkupTag, getMetaData, getModelComparator, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getRequestFlag, getResponse, getSession, getSizeInBytes, getStatelessHint, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalRenderComponent, internalRenderHead, isActionAuthorized, isAuto, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isInitialized, isRenderAllowed, isRendering, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, markRendering, modelChanged, modelChanging, newMarkupSourcingStrategy, onAfterRender, onConfigure, onEvent, onModelChanged, onModelChanging, onReAdd, onRemove, redirectToInterceptPage, remove, remove, render, renderComponentTag, rendered, renderHead, renderPart, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, send, setAuto, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setIgnoreAttributeModifier, setMarkup, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setParent, setRenderBodyOnly, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, success, urlFor, urlFor, urlFor, urlForListener, urlForListener, visitParents, visitParents, warn, wrap

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.apache.wicket.IGenericComponent

    getDefaultModel, getDefaultModelObject, getModel, getModelObject, setDefaultModel, setDefaultModelObject, setModel, setModelObject

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator
  • Constructor Details

    • Select

      public Select(String id)
      Constructor that will create a default model collection
      Parameters:
      id - component id
    • Select

      public Select(String id, org.apache.wicket.model.IModel<T> model)
      Parameters:
      id -
      model -
      See Also:
      • WebMarkupContainer(String, IModel)
  • Method Details

    • getModelValue

      protected String getModelValue()
      Overrides:
      getModelValue in class org.apache.wicket.markup.html.form.FormComponent<T>
    • convertInput

      public void convertInput()
      Overrides:
      convertInput in class org.apache.wicket.markup.html.form.FormComponent<T>
    • updateModel

      public void updateModel()
      Specified by:
      updateModel in interface org.apache.wicket.markup.html.form.IFormModelUpdateListener
      Overrides:
      updateModel in class org.apache.wicket.markup.html.form.FormComponent<T>
      See Also:
      • FormComponent.updateModel()
    • isSelected

      protected boolean isSelected(org.apache.wicket.model.IModel<?> model)
      Does the given model contain a selected value.
      Parameters:
      model - model to test on selection
      Returns:
      selected