This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

Child pages
  • param
Skip to end of metadata
Go to start of metadata

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
  • suppressEmptyParameters (boolean) - whether to suppress this parameter if empty

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

Dynamic Attributes Allowed:

false
 

Name

Required

Default

Evaluated

Type

Description

name false false String Name of Parameter to set
suppressEmptyParameters false false false Boolean Whether to suppress empty parameters
value false The value of evaluating provided name against stack false String Value expression for Parameter to set

Examples

Error rendering macro 'code': Invalid value specified for parameter 'java.lang.NullPointerException'
<pre>
<ui:component>
 <ui:param name="key"     value="[0]"/>
 <ui:param name="value"   value="[1]"/>
 <ui:param name="context" value="[2]"/>
</ui:component>
</pre>

<p>
Whether to suppress empty parameters:
</p>

<pre>
<s:url action="eventAdd">
  <s:param name="bean.searchString" value="%{bean.searchString}" />
  <s:param name="bean.filter" value="%{bean.filter}" />
  <s:param name="bean.pageNum" value="%{pager.pageNumber}" suppressEmptyParameters="true" />
</s:url>
</pre>

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

  • No labels

3 Comments

  1. Change "addParamter" to "addParameter".

  2. {@link Component#addParameter(String, Object) addParamter} looks like JavaDoc code which does not belong here

  3. value is of type OBJECT, so the type word 'String"
    should be changed to "Object" in the line before Example.

    and it seems they should be must.