Apache Struts 2 Documentation > Home > Guides > Tag Developers Guide > Struts Tags > Tag Reference > Generic Tag Reference > param |

Apache Struts 2 Documentation
param
Edit Page Browse Space Add Page Add News
Added by digi9ten, last edited by Don Brown on Jan 06, 2007 (view change)

| Please make sure you have read the Tag Syntax document and understand how tag attribute syntax works.

# Description

This tag can be used to parameterize other tags.

The include tag and bean tag are examples of such tags.

The parameters can be added with or without a name as key. If the tag provides a name attribute the parameters are added using the {@link Component#addParameter(String, Object) addParamter} method. For unnamed parameters the Tag must implement the UnnamedParametric interface defined in this class (e.g. The TextTag does this).

This tag has the following two paramters.

- name (String) - the name of the parameter
- value (Object) - the value of the parameter

Note: When you declare the param tag, the value can be defined in either a `value` attribute or as text between the start and end tag. Struts behaves a bit different according to these two situations. This is best illustrated using an example:
<param name="color">blue</param> <-- (A) -->
<param name="color" value="blue"/> <-- (B) -->
In the first situation (A) the value would be evaluated to the stack as a `java.lang.String` object. And in situation (B) the value would be evaluated to the stack as a `java.lang.Object` object.
For more information see WW-808.

# Parameters

#### Name | #### Required | #### Default | #### Evaluated | #### Type | #### Description
--- | --- | --- | --- | --- | ---
id | false |  | true | String | id for referencing element. For UI and form tags it will be used as HTML id attribute
name | false |  | true | String | Name of Parameter to set
value | false | The value of evaluating provided name against stack | true | String | Value expression for Parameter to set

# Examples

    <pre>
    <ui:component>
     <ui:param name="key"     value="[0]"/>
     <ui:param name="value"   value="[1]"/>
     <ui:param name="context" value="[2]"/>
    </ui:component>
    </pre>

where the key will be the identifier and the value the result of an OGNL expression run against the current ValueStack.