|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.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<String>
org.apache.wicket.markup.html.form.Button
public class Button
A form button.
Within a form, you can nest Button components. Note that you don't have to do this to let the form work (a simple <input type="submit".. suffices), but if you want to have different kinds of submit behavior it might be a good idea to use Buttons.
The model property is used to set the "value" attribute. It will thus be the label of the button that shows up for end users. If you want the attribute to keep it's markup attribute value, don't provide a model, or let it return an empty string.
When you add a Wicket Button to a form, and that button is clicked, by default the button's onSubmit method is called first, and after that the form's onSubmit method is called. If you want to change this (e.g. you don't want to call the form's onSubmit method, or you want it called before the button's onSubmit method), you can override Form.delegateSubmit.
One other option you should know of is the 'defaultFormProcessing' property of Button components. When you set this to false (default is true), all validation and formupdating is bypassed and the onSubmit method of that button is called directly, and the onSubmit method of the parent form is not called. A common use for this is to create a cancel button.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.apache.wicket.markup.html.form.FormComponent |
---|
FormComponent.AbstractVisitor, FormComponent.IVisitor |
Nested classes/interfaces inherited from class org.apache.wicket.Component |
---|
Component.ComponentModelChange, Component.EnabledChange, Component.VisibilityChange |
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_CONFIGURED, FLAG_INITIALIZED, FLAG_REMOVING_FROM_HIERARCHY, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED6, FLAG_RESERVED7, FLAG_RESERVED8, PATH_SEPARATOR, RENDER |
Constructor Summary | |
---|---|
Button(String id)
Constructor without a model. |
|
Button(String id,
IModel<String> model)
Constructor taking an model for rendering the 'label' of the button (the value attribute of the input/button tag). |
Method Summary | |
---|---|
boolean |
getDefaultFormProcessing()
Gets the defaultFormProcessing property. |
protected String |
getOnClickScript()
Gets any script that should rendered as the "onclick" attribute of the button. |
protected IModel<String> |
initModel()
Override of the default initModel behaviour. |
protected void |
onComponentTag(ComponentTag tag)
Processes the component tag. |
void |
onSubmit()
Override this method to provide special submit handling in a multi-button form. |
Button |
setDefaultFormProcessing(boolean defaultFormProcessing)
Sets the defaultFormProcessing property. |
void |
updateModel()
This method does nothing, as any model of a button is only used to display the button's label (by setting it's markup attribute "value"). |
Methods inherited from class org.apache.wicket.markup.html.form.FormComponent |
---|
add, add, checkRequired, clearInput, convertInput, convertValue, error, getConvertedInput, getForm, getInput, getInputAsArray, getInputName, getModel, getModelObject, getModelValue, getRawInput, getType, getValidatorKeyPrefix, getValidators, getValue, hasRawInput, inputAsInt, inputAsInt, inputAsIntArray, inputChanged, internalOnModelChanged, invalid, isInputNullable, isMultiPart, isPersistent, isRequired, isValid, newValidatable, onDetach, onDisabled, onInvalid, onValid, processChildren, processInput, setConvertedInput, setLabel, setModel, setModelObject, setModelValue, setModelValue, setPersistent, setRequired, setType, shouldTrimInput, supportsPersistence, trim, valid, validate, validateRequired, validateValidators, visitComponentsPostOrder, visitFormComponentsPostOrder |
Methods inherited from class org.apache.wicket.markup.html.form.LabeledWebMarkupContainer |
---|
getLabel, setLabelInternal |
Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer |
---|
getMarkupType, getWebPage, getWebRequest |
Methods inherited from class org.apache.wicket.MarkupContainer |
---|
add, addOrReplace, autoAdd, autoAdd, contains, findMarkupStream, get, get, getAssociatedMarkupStream, getMarkupStream, hasAssociatedMarkup, internalAdd, isTransparentResolver, iterator, iterator, newMarkupResourceStream, onComponentTagBody, onRender, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderComponentTagBody, renderNext, replace, setDefaultModel, setMarkupStream, size, swap, toString, toString, visitChildren, visitChildren |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.apache.wicket.markup.html.form.IFormSubmittingComponent |
---|
getForm, getInputName |
Constructor Detail |
---|
public Button(String id)
Component.Component(String)
public Button(String id, IModel<String> model)
StringResourceModel
for a
localized value.
id
- Component idmodel
- The model property is used to set the "value" attribute. It will thus be
the label of the button that shows up for end users. If you want the attribute to
keep it's markup attribute value, don't provide a model, or let it return an empty
string.Method Detail |
---|
protected IModel<String> initModel()
initModel
in class Component
Component.initModel()
public final boolean getDefaultFormProcessing()
getDefaultFormProcessing
in interface IFormSubmittingComponent
public final Button setDefaultFormProcessing(boolean defaultFormProcessing)
defaultFormProcessing
- defaultFormProcessing
public void updateModel()
updateModel
in interface IFormModelUpdateListener
updateModel
in class FormComponent<String>
FormComponent.updateModel()
protected String getOnClickScript()
protected void onComponentTag(ComponentTag tag)
NOTE. For a <button> the value attribute is not rendered, markup needs to be added within the button to display the button's label.
onComponentTag
in class FormComponent<String>
tag
- Tag to modifyComponent.onComponentTag(ComponentTag)
public void onSubmit()
onSubmit
in interface IFormSubmittingComponent
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |