org.apache.struts2.components

## Class Submit

- java.lang.Object
- - org.apache.struts2.components.Component
  - - org.apache.struts2.components.UIBean
    - - org.apache.struts2.components.ClosingUIBean
      - - org.apache.struts2.components.FormButton
        - - org.apache.struts2.components.Submit

-     public class Submit
      extends FormButton

  Render a submit button. The submit tag is used together with the form tag to provide asynchronous form submissions. The submit can have three different types of rendering:
  - input: renders as html <input type="submit"...>
  - image: renders as html <input type="image"...>
  - button: renders as html <button type="submit"...>
  Please note that the button type has advantages by adding the possibility to seperate the submitted value from the text shown on the button face, but has issues with Microsoft Internet Explorer at least up to 6.0

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `OPEN_TEMPLATE`
    `protected String` | `src`
    `static String` | `TEMPLATE`

    - ### Fields inherited from class org.apache.struts2.components.FormButton

      `action, method, type`

    - ### Fields inherited from class org.apache.struts2.components.UIBean

      `accesskey, ATTR_FIELD_VALUE, ATTR_NAME_VALUE, ATTR_VALUE, cspNonceReader, cssClass, cssErrorClass, cssErrorStyle, cssStyle, defaultTemplateDir, defaultUITheme, disabled, dynamicAttributes, errorPosition, id, javascriptTooltip, key, label, labelPosition, labelSeparator, name, onblur, onchange, onclick, ondblclick, onfocus, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup, onselect, request, requiredLabel, requiredPosition, response, tabindex, template, templateDir, templateEngineManager, templateSuffix, theme, title, tooltip, tooltipConfig, tooltipCssClass, tooltipDelay, tooltipIconPath, uiStaticContentPath, uiThemeExpansionToken, value`

    - ### Fields inherited from class org.apache.struts2.components.Component

      `actionMapper, COMPONENT_STACK, devMode, escapeHtmlBody, parameters, performClearTagStateForTagPoolingServers, stack, standardAttributesMap, throwExceptionOnELFailure`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Submit(ValueStack stack, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `end(Writer writer, String body)` Overrides to be able to render body in a template rather than always before the template
    `void` | `evaluateExtraParams()`
    `void` | `evaluateParams()`
    `String` | `getDefaultOpenTemplate()`
    `protected String` | `getDefaultTemplate()` A contract that requires each concrete UI Tag to specify which template should be used as a default.
    `void` | `setEscapeHtmlBody(boolean escapeHtmlBody)`
    `void` | `setSrc(String src)`
    `protected boolean` | `supportsImageType()` Indicate whether the concrete button supports the type "image".
    `boolean` | `usesBody()` Overwrite to set if body should be used.

    - ### Methods inherited from class org.apache.struts2.components.FormButton

      `populateComponentHtmlId, setAction, setActionMapper, setMethod, setType`

    - ### Methods inherited from class org.apache.struts2.components.ClosingUIBean

      `setOpenTemplate, start`

    - ### Methods inherited from class org.apache.struts2.components.UIBean

      `addFormParameter, applyValueParameter, buildTemplateName, copyParams, enableAncestorFormCustomOnsubmit, ensureAttributeSafelyNotEscaped, escape, evaluateNameValue, getId, getTemplate, getTemplateDir, getTheme, getTooltipConfig, getValueClassType, lazyEvaluation, mergeTemplate, setAccesskey, setCspNonceReader, setCssClass, setCssErrorClass, setCssErrorStyle, setCssStyle, setDefaultTemplateDir, setDefaultUITheme, setDisabled, setDynamicAttributes, setErrorPosition, setId, setJavascriptTooltip, setKey, setLabel, setLabelPosition, setLabelSeparator, setName, setOnblur, setOnchange, setOnclick, setOndblclick, setOnfocus, setOnkeydown, setOnkeypress, setOnkeyup, setOnmousedown, setOnmousemove, setOnmouseout, setOnmouseover, setOnmouseup, setOnselect, setRequiredLabel, setRequiredPosition, setStaticContentPath, setStyle, setTabindex, setTemplate, setTemplateDir, setTemplateEngineManager, setTheme, setTitle, setTooltip, setTooltipConfig, setTooltipCssClass, setTooltipDelay, setTooltipIconPath, setUIThemeExpansionToken, setValue`

    - ### Methods inherited from class org.apache.struts2.components.Component

      `addAllParameters, addParameter, clearStandardAttributesMap, completeExpression, determineActionURL, determineNamespace, end, escapeHtmlBody, fieldError, findAncestor, findString, findString, findValue, findValue, findValue, getAttributes, getComponentStack, getNamespace, getParameters, getPerformClearTagStateForTagPoolingServers, getStack, getStandardAttributes, isAcceptableExpression, isValidTagAttribute, popComponentStack, setDevMode, setEscapeHtmlBody, setNotExcludedAcceptedPatterns, setPerformClearTagStateForTagPoolingServers, setThrowExceptionsOnELFailure, setUrlHelper, stripExpression, toString`

    - ### Methods inherited from class java.lang.Object

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

- - ### Field Detail

    - #### OPEN_TEMPLATE

          public static final String OPEN_TEMPLATE

      See Also:
        Constant Field Values

    - #### TEMPLATE

          public static final String TEMPLATE

      See Also:
        Constant Field Values

    - #### src

          protected String src

  - ### Constructor Detail

    - #### Submit

          public Submit(ValueStack stack,
                        javax.servlet.http.HttpServletRequest request,
                        javax.servlet.http.HttpServletResponse response)

  - ### Method Detail

    - #### getDefaultOpenTemplate

          public String getDefaultOpenTemplate()

      Specified by:
        `getDefaultOpenTemplate` in class `ClosingUIBean`

    - #### getDefaultTemplate

          protected String getDefaultTemplate()

      Description copied from class: `UIBean`
      A contract that requires each concrete UI Tag to specify which template should be used as a default. For example, the CheckboxTab might return "checkbox.vm" while the RadioTag might return "radio.vm". This value not begin with a '/' unless you intend to make the path absolute rather than relative to the current theme.
      Specified by:
        `getDefaultTemplate` in class `UIBean`
      Returns:
        The name of the template to be used as the default.

    - #### evaluateParams

          public void evaluateParams()

      Overrides:
        `evaluateParams` in class `UIBean`

    - #### evaluateExtraParams

          public void evaluateExtraParams()

      Overrides:
        `evaluateExtraParams` in class `FormButton`

    - #### supportsImageType

          protected boolean supportsImageType()

      Indicate whether the concrete button supports the type "image".
      Specified by:
        `supportsImageType` in class `FormButton`
      Returns:
        `true` to indicate type image is supported.

    - #### setSrc

          public void setSrc(String src)

    - #### setEscapeHtmlBody

          public void setEscapeHtmlBody(boolean escapeHtmlBody)

    - #### usesBody

          public boolean usesBody()

      Description copied from class: `Component`
      Overwrite to set if body should be used.
      Overrides:
        `usesBody` in class `Component`
      Returns:
        always false for this component.

    - #### end

          public boolean end(Writer writer,
                             String body)

      Overrides to be able to render body in a template rather than always before the template
      Overrides:
        `end` in class `UIBean`
      Parameters:
        `writer` - the output writer.
        `body` - the rendered body.
      Returns:
        true if the body should be evaluated again

Copyright © 2000–2026 Apache Software Foundation. All rights reserved.