<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8"/>
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  <meta name="Date-Revision-yyyymmdd" content="20140918"/>
  <meta http-equiv="Content-Language" content="en"/>
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

  <title>component tag</title>

  <link href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,400italic,600italic,700italic" rel="stylesheet" type="text/css">
  <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
  <link href="/css/main.css" rel="stylesheet">
  <link href="/css/custom.css" rel="stylesheet">
  <link href="/css/syntax.css" rel="stylesheet">

  <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
  <script type="text/javascript" src="/bootstrap/js/bootstrap.js"></script>
  <script type="text/javascript" src="/js/community.js"></script>

  <!-- Matomo -->
  <script>
    var _paq = window._paq = window._paq || [];
    /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
    /* We explicitly disable cookie tracking to avoid privacy issues */
    _paq.push(['disableCookies']);
    _paq.push(['trackPageView']);
    _paq.push(['enableLinkTracking']);
    (function() {
      var u="//analytics.apache.org/";
      _paq.push(['setTrackerUrl', u+'matomo.php']);
      _paq.push(['setSiteId', '41']);
      var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
      g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
    })();
  </script>
  <!-- End Matomo Code -->
</head>
<body>

<a href="https://github.com/apache/struts" class="github-ribbon">
  <img decoding="async" loading="lazy" style="position: absolute; right: 0; border: 0;" width="149" height="149" src="https://github.blog/wp-content/uploads/2008/12/forkme_right_red_aa0000.png?resize=149%2C149" class="attachment-full size-full" alt="Fork me on GitHub" data-recalc-dims="1">
</a>

<header>
  <nav>
    <div role="navigation" class="navbar navbar-default navbar-fixed-top">
      <div class="container">
        <div class="navbar-header">
          <button type="button" data-toggle="collapse" data-target="#struts-menu" class="navbar-toggle">
            Menu
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a href="/index.html" class="navbar-brand logo"><img src="/img/struts-logo.svg"></a>
        </div>
        <div id="struts-menu" class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
            <li class="dropdown">
              <a data-toggle="dropdown" href="#" class="dropdown-toggle">
                Home<b class="caret"></b>
              </a>
              <ul class="dropdown-menu">
                <li><a href="/index.html">Welcome</a></li>
                <li><a href="/download.cgi">Download</a></li>
                <li><a href="/releases.html">Releases</a></li>
                <li><a href="/announce-2024.html">Announcements</a></li>
                <li><a href="http://www.apache.org/licenses/">License</a></li>
                <li><a href="https://www.apache.org/foundation/thanks.html">Thanks!</a></li>
                <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
                <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy Policy</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a data-toggle="dropdown" href="#" class="dropdown-toggle">
                Support<b class="caret"></b>
              </a>
              <ul class="dropdown-menu">
                <li><a href="/mail.html">User Mailing List</a></li>
                <li><a href="https://issues.apache.org/jira/browse/WW">Issue Tracker</a></li>
                <li><a href="/security.html">Reporting Security Issues</a></li>
                <li><a href="/commercial-support.html">Commercial Support</a></li>
                <li class="divider"></li>
                <li><a href="https://cwiki.apache.org/confluence/display/WW/Migration+Guide">Version Notes</a></li>
                <li><a href="https://cwiki.apache.org/confluence/display/WW/Security+Bulletins">Security Bulletins</a></li>
                <li class="divider"></li>
                <li><a href="/maven/project-info.html">Maven Project Info</a></li>
                <li><a href="/maven/struts2-core/dependencies.html">Struts Core Dependencies</a></li>
                <li><a href="/maven/struts2-plugins/modules.html">Plugin Dependencies</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a data-toggle="dropdown" href="#" class="dropdown-toggle">
                Documentation<b class="caret"></b>
              </a>
              <ul class="dropdown-menu">
                <li><a href="/birdseye.html">Birds Eye</a></li>
                <li><a href="/primer.html">Key Technologies</a></li>
                <li><a href="/kickstart.html">Kickstart FAQ</a></li>
                <li><a href="https://cwiki.apache.org/confluence/display/WW/Home">Wiki</a></li>
                <li class="divider"></li>
                <li><a href="/getting-started/">Getting Started</a></li>
                <li><a href="/security/">Security Guide</a></li>
                <li><a href="/core-developers/">Core Developers Guide</a></li>
                <li><a href="/tag-developers/">Tag Developers Guide</a></li>
                <li><a href="/maven-archetypes/">Maven Archetypes</a></li>
                <li><a href="/plugins/">Plugins</a></li>
                <li><a href="/maven/struts2-core/apidocs/index.html">Struts Core API</a></li>
                <li><a href="/tag-developers/tag-reference.html">Tag reference</a></li>
                <li><a href="https://cwiki.apache.org/confluence/display/WW/FAQs">FAQs</a></li>
                <li><a href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin registry</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a data-toggle="dropdown" href="#" class="dropdown-toggle">
                Contributing<b class="caret"></b>
              </a>
              <ul class="dropdown-menu">
                <li><a href="/youatstruts.html">You at Struts</a></li>
                <li><a href="/helping.html">How to Help FAQ</a></li>
                <li><a href="/dev-mail.html">Development Lists</a></li>
                <li class="divider"></li>
                <li><a href="/submitting-patches.html">Submitting patches</a></li>
                <li><a href="/builds.html">Source Code and Builds</a></li>
                <li><a href="/coding-standards.html">Coding standards</a></li>
                <li><a href="/contributors/">Contributors Guide</a></li>
                <li class="divider"></li>
                <li><a href="/release-guidelines.html">Release Guidelines</a></li>
                <li><a href="/bylaws.html">PMC Charter</a></li>
                <li><a href="/volunteers.html">Volunteers</a></li>
                <li><a href="https://gitbox.apache.org/repos/asf?p=struts.git">Source Repository</a></li>
                <li><a href="/updating-website.html">Updating the website</a></li>
              </ul>
            </li>
            <li class="apache"><a href="http://www.apache.org/"><img src="/img/apache.png"></a></li>
          </ul>
        </div>
      </div>
    </div>
  </nav>
</header>


<article class="container">
  <section class="col-md-12">
    <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/tag-developers/component-tag.md" title="Edit this page on GitHub">Edit on GitHub</a>
    
    <a href="tag-reference.html" title="back to Tag Reference"><< back to Tag Reference</a>
    
    <h1 id="component">component</h1>

<p>Please make sure you have read the <a href="tag-syntax">Tag Syntax</a> document and understand how tag attribute syntax works.</p>

<h2 id="description">Description</h2>

<p>Renders an custom UI widget using the specified templates. Additional objects can be passed in to the template
using the <a href="param-tag">param</a> tags.</p>

<p>Render a custom ui widget</p>

<h3 id="freemarker">Freemarker:</h3>

<p>Objects provided can be retrieve from within the template via <code class="language-plaintext highlighter-rouge">$parameters._paramname_</code>.</p>

<h3 id="jsp">JSP:</h3>

<p>Objects provided can be retrieve from within the template via <code class="language-plaintext highlighter-rouge">&lt;s:property value="%{parameters._paramname_}" /&gt;</code></p>

<p>In the bottom JSP and Velocity samples, two parameters are being passed in to the component. From within the
component, they can be accessed as:</p>

<h3 id="freemarker-1">Freemarker:</h3>

<p><code class="language-plaintext highlighter-rouge">$parameters.get('key1')</code> and <code class="language-plaintext highlighter-rouge">$parameters.get('key2')</code> or <code class="language-plaintext highlighter-rouge">$parameters.key1</code> and <code class="language-plaintext highlighter-rouge">$parameters.key2</code></p>

<h3 id="jsp-1">JSP:</h3>

<p><code class="language-plaintext highlighter-rouge">&lt;s:property value="%{parameters.key1}" /&gt;</code> and <code class="language-plaintext highlighter-rouge">&lt;s:property value="%{'parameters.key2'}" /&gt;</code> or
<code class="language-plaintext highlighter-rouge">&lt;s:property value="%{parameters.get('key1')}" /&gt;</code> and <code class="language-plaintext highlighter-rouge">&lt;s:property value="%{parameters.get('key2')}" /&gt;</code></p>

<p>Currently, your custom UI components can be written in Velocity, JSP, or Freemarker, and the correct rendering
engine will be found based on file extension.</p>

<p><strong>Remember:</strong> the value <code class="language-plaintext highlighter-rouge">params</code> will always be resolved against the ValueStack so if you mean to pass a string literal 
to your component, make sure to wrap it in single quotes i.e. <code class="language-plaintext highlighter-rouge">value="'value1'"</code> (note the opening <code class="language-plaintext highlighter-rouge">"'</code> and closing <code class="language-plaintext highlighter-rouge">'"</code> 
otherwise, the value stack will search for an Object on the stack with a method of <code class="language-plaintext highlighter-rouge">getValue1()</code>.</p>

<p>If JSP is used as the template, the JSP template itself must lie within the webapp itself and not the classpath. 
Unlike Freemarker or Velocity, JSP template could not be picked up from the classpath.</p>

<p><strong>(!) templateDir and theme attribute</strong></p>

<blockquote>
  <p>The final path to the template will be built using the <em>templateDir</em>  and <em>template</em>  attributes, like 
${templateDir}/${theme}/${template}. If for example your component is under <em>/components/html/option.jsp</em>, 
you would have to set templateDir=”components”, theme=”html” and template=”options.jsp”.</p>
</blockquote>

<blockquote>
  <p>For any Struts tag that you use in your component, make sure that you set its templateDir=”template”</p>
</blockquote>

<h2 id="attributes">Attributes</h2>

<table class="tag-reference">
    <tr>
        <td colspan="6"><h4>Dynamic Attributes Allowed:</h4> false</td>
    </tr>
    <tr>
        <td colspan="6"><hr /></td>
    </tr>
    <tr>
        <th class="tag-header"><h4>Name</h4></th>
        <th class="tag-header"><h4>Required</h4></th>
        <th class="tag-header"><h4>Default</h4></th>
        <th class="tag-header"><h4>Evaluated</h4></th>
        <th class="tag-header"><h4>Type</h4></th>
        <th class="tag-header"><h4>Description</h4></th>
    </tr>
    <tr>
        <td class="tag-attribute">accesskey</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Set the html accesskey attribute on rendered html element</td>
    </tr>
    <tr>
        <td class="tag-attribute">cssClass</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">The css class to use for element</td>
    </tr>
    <tr>
        <td class="tag-attribute">cssErrorClass</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">The css error class to use for element</td>
    </tr>
    <tr>
        <td class="tag-attribute">cssErrorStyle</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">The css error style definitions for element to use</td>
    </tr>
    <tr>
        <td class="tag-attribute">cssStyle</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">The css style definitions for element to use</td>
    </tr>
    <tr>
        <td class="tag-attribute">disabled</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Set the html disabled attribute on rendered html element</td>
    </tr>
    <tr>
        <td class="tag-attribute">errorPosition</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Define error position of form element (top|bottom)</td>
    </tr>
    <tr>
        <td class="tag-attribute">id</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">HTML id attribute</td>
    </tr>
    <tr>
        <td class="tag-attribute">javascriptTooltip</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">Boolean</td>
        <td class="tag-attribute">Use JavaScript to generate tooltips</td>
    </tr>
    <tr>
        <td class="tag-attribute">key</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Set the key (name, value, label) for this particular component</td>
    </tr>
    <tr>
        <td class="tag-attribute">label</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Label expression used for rendering an element specific label</td>
    </tr>
    <tr>
        <td class="tag-attribute">labelPosition</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Define label position of form element (top/left)</td>
    </tr>
    <tr>
        <td class="tag-attribute">labelSeparator</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">:</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">String that will be appended to the label</td>
    </tr>
    <tr>
        <td class="tag-attribute">name</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">The name to set for element</td>
    </tr>
    <tr>
        <td class="tag-attribute">onblur</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute"> Set the html onblur attribute on rendered html element</td>
    </tr>
    <tr>
        <td class="tag-attribute">onchange</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Set the html onchange attribute on rendered html element</td>
    </tr>
    <tr>
        <td class="tag-attribute">onclick</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Set the html onclick attribute on rendered html element</td>
    </tr>
    <tr>
        <td class="tag-attribute">ondblclick</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Set the html ondblclick attribute on rendered html element</td>
    </tr>
    <tr>
        <td class="tag-attribute">onfocus</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Set the html onfocus attribute on rendered html element</td>
    </tr>
    <tr>
        <td class="tag-attribute">onkeydown</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Set the html onkeydown attribute on rendered html element</td>
    </tr>
    <tr>
        <td class="tag-attribute">onkeypress</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Set the html onkeypress attribute on rendered html element</td>
    </tr>
    <tr>
        <td class="tag-attribute">onkeyup</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Set the html onkeyup attribute on rendered html element</td>
    </tr>
    <tr>
        <td class="tag-attribute">onmousedown</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Set the html onmousedown attribute on rendered html element</td>
    </tr>
    <tr>
        <td class="tag-attribute">onmousemove</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Set the html onmousemove attribute on rendered html element</td>
    </tr>
    <tr>
        <td class="tag-attribute">onmouseout</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Set the html onmouseout attribute on rendered html element</td>
    </tr>
    <tr>
        <td class="tag-attribute">onmouseover</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Set the html onmouseover attribute on rendered html element</td>
    </tr>
    <tr>
        <td class="tag-attribute">onmouseup</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Set the html onmouseup attribute on rendered html element</td>
    </tr>
    <tr>
        <td class="tag-attribute">onselect</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Set the html onselect attribute on rendered html element</td>
    </tr>
    <tr>
        <td class="tag-attribute">performClearTagStateForTagPoolingServers</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">Boolean</td>
        <td class="tag-attribute">Whether to clear all tag state during doEndTag() processing (if applicable)</td>
    </tr>
    <tr>
        <td class="tag-attribute">requiredLabel</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">Boolean</td>
        <td class="tag-attribute">If set to true, the rendered element will indicate that input is required</td>
    </tr>
    <tr>
        <td class="tag-attribute">requiredPosition</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Define required position of required form element (left|right)</td>
    </tr>
    <tr>
        <td class="tag-attribute">style</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">The css style definitions for element to use - it's an alias of cssStyle attribute.</td>
    </tr>
    <tr>
        <td class="tag-attribute">tabindex</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Set the html tabindex attribute on rendered html element</td>
    </tr>
    <tr>
        <td class="tag-attribute">template</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">The template (other than default) to use for rendering the element</td>
    </tr>
    <tr>
        <td class="tag-attribute">templateDir</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">The template directory.</td>
    </tr>
    <tr>
        <td class="tag-attribute">theme</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">The theme (other than default) to use for rendering the element</td>
    </tr>
    <tr>
        <td class="tag-attribute">title</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Set the html title attribute on rendered html element</td>
    </tr>
    <tr>
        <td class="tag-attribute">tooltip</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Set the tooltip of this particular component</td>
    </tr>
    <tr>
        <td class="tag-attribute">tooltipConfig</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Deprecated. Use individual tooltip configuration attributes instead.</td>
    </tr>
    <tr>
        <td class="tag-attribute">tooltipCssClass</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">StrutsTTClassic</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">CSS class applied to JavaScrip tooltips</td>
    </tr>
    <tr>
        <td class="tag-attribute">tooltipDelay</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">Classic</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Delay in milliseconds, before showing JavaScript tooltips </td>
    </tr>
    <tr>
        <td class="tag-attribute">tooltipIconPath</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Icon path used for image that will have the tooltip</td>
    </tr>
    <tr>
        <td class="tag-attribute">value</td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute"></td>
        <td class="tag-attribute">false</td>
        <td class="tag-attribute">String</td>
        <td class="tag-attribute">Preset the value of input element.</td>
    </tr>
</table>

<h2 id="examples">Examples</h2>

<h3 id="jsp-2">JSP</h3>

<div class="language-jsp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;s:component </span><span class="na">template=</span><span class="s">"/my/custom/component.jsp"</span><span class="nt">/&gt;</span>
</code></pre></div></div>

<p>or</p>

<div class="language-jsp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;s:component </span><span class="na">template=</span><span class="s">"/my/custom/component.jsp"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;s:param </span><span class="na">name=</span><span class="s">"key1"</span><span class="na"> value=</span><span class="s">"value1"</span><span class="nt">/&gt;</span>
    <span class="nt">&lt;s:param </span><span class="na">name=</span><span class="s">"key2"</span><span class="na"> value=</span><span class="s">"value2"</span><span class="nt">/&gt;</span>
<span class="nt">&lt;/s:component&gt;</span>
</code></pre></div></div>

<h3 id="velocity">Velocity</h3>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>#s-component( "template=/my/custom/component.vm" )
</code></pre></div></div>

<p>or</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>#s-component( "template=/my/custom/component.vm" )
    #s-param( "name=key1" "value=value1" )
    #s-param( "name=key2" "value=value2" )
#end
</code></pre></div></div>

<h3 id="freemarker-2">Freemarker</h3>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>&lt;@s..component template="/my/custom/component.ftl" /&gt;
</code></pre></div></div>

<p>or</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>&lt;@s.component template="/my/custom/component.ftl"&gt;
    &lt;@s.param name="key1" value="%{'value1'}" /&gt;
    &lt;@s.param name="key2" value="%{'value2'}" /&gt;
&lt;/@s.component&gt;
</code></pre></div></div>

  </section>
</article>


<footer class="container">
  <div class="col-md-12">
    Copyright &copy; 2000-2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>.
    Apache Struts, Struts, Apache, the Apache feather logo, and the Apache Struts project logos are
    trademarks of The Apache Software Foundation. All Rights Reserved.
  </div>
  <div class="col-md-12">Logo and website design donated by <a href="https://softwaremill.com/">SoftwareMill</a>.</div>
</footer>

<script>!function (d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (!d.getElementById(id)) {
    js = d.createElement(s);
    js.id = id;
    js.src = "//platform.twitter.com/widgets.js";
    fjs.parentNode.insertBefore(js, fjs);
  }
}(document, "script", "twitter-wjs");</script>
<script src="https://apis.google.com/js/platform.js" async="async" defer="defer"></script>

<div id="fb-root"></div>

<script>(function (d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s);
  js.id = id;
  js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>


</body>
</html>
