java.lang.Object
org.apache.wicket.markup.html.form.AutoLabelResolver
- All Implemented Interfaces:
Serializable
,IComponentResolver
,IClusterable
Resolver that implements the
wicket:for
attribute functionality. The attribute makes it
easy to set up <label>
tags for form components by providing the following features
without having to add any additional components in code:
- Outputs the
for
attribute with the value equivalent to the markup id of the referenced form component - Appends
required
css class to the<label>
tag if the referenced form component is required. Name of the css class can be overwritten by having a i18n property defined for key AutoLabel.CSS.required - Appends
error
css class to the<label>
tag if the referenced form component has failed validation. Name of the css class can be overwritten by having a i18n property defined for key AutoLabel.CSS.error - Appends
disabled
css class to the<label>
tag if the referenced form component has is not enabled in hierarchy. Name of the css class can be overwritten by having a i18n property defined for key AutoLabel.CSS.disabled
The value of the wicket:for
attribute can either contain an id of the form component or a
path to it using the standard :
path separator. Note that ..
can be used as part
of the path to construct a reference to the parent container, eg ..:..:foo:bar
. First the
value of the attribute will be treated as a path and the <label>
tag's closest parent
container will be queried for the form component. If the form component cannot be resolved the
value of the wicket:for
attribute will be treated as an id and all containers will be
searched from the closest parent to the page.
- Author:
- igor, Carl-Eric Menzel
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static class
Component that is attached to the<label>
tag and takes care of writing out the label text as well as setting classes on the<label>
tagstatic final class
Marker used to track whether or not a form component has an associated auto label by its mere presense as well as some attributes of the component across requests. -
Field Summary
Modifier and TypeFieldDescriptionstatic final String
static final String
static final String
static final String
static final MetaDataKey<AutoLabelResolver.AutoLabelMarker>
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic String
getLabelIdFor
(Component component) resolve
(MarkupContainer container, MarkupStream markupStream, ComponentTag tag) Try to resolve a component.
-
Field Details
-
LABEL_ATTR
- See Also:
-
CSS_REQUIRED_KEY
-
CSS_DISABLED_KEY
-
CSS_ERROR_KEY
-
MARKER_KEY
-
-
Constructor Details
-
AutoLabelResolver
public AutoLabelResolver()
-
-
Method Details
-
resolve
Description copied from interface:IComponentResolver
Try to resolve a component.- Specified by:
resolve
in interfaceIComponentResolver
- Parameters:
container
- The container parsing its markupmarkupStream
- The current markupStreamtag
- The current component tag while parsing the markup- Returns:
- component or
null
if not found
-
getLabelIdFor
-