Class Param

  extended by org.apache.struts2.components.Component
      extended by org.apache.struts2.components.Param

public class Param
extends Component

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 addParamter method. For unnamed parameters the Tag must implement the Param.UnnamedParametric interface defined in this class (e.g. The TextTag does this).

This tag has the following two paramters.

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.


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

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

This second example demonstrates how the text tag can use parameters from this param tag.

 <s:text name="">
     <s:param value="#session.cartTotal"/>

See Also:
Include, Bean, Text

Nested Class Summary
static interface Param.UnnamedParametric
          Tags can implement this to support nested param tags without the name attribute.
Field Summary
protected  String name
protected  String value
Fields inherited from class org.apache.struts2.components.Component
actionMapper, COMPONENT_STACK, parameters, stack, throwExceptionOnELFailure
Constructor Summary
Param(ValueStack stack)
Method Summary
 boolean end(Writer writer, String body)
          Callback for the end tag of this component.
 void setName(String name)
 void setValue(String value)
 boolean usesBody()
          Overwrite to set if body shold be used.
Methods inherited from class org.apache.struts2.components.Component
addAllParameters, addParameter, altSyntax, altSyntax, completeExpressionIfAltSyntax, copyParams, determineActionURL, determineNamespace, end, fieldError, findAncestor, findString, findString, findStringIfAltSyntax, findValue, findValue, findValue, getComponentStack, getParameters, getStack, popComponentStack, setActionMapper, setThrowExceptionsOnELFailure, start, stripExpressionIfAltSyntax, stripExpressionIfAltSyntax, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail


protected String name


protected String value
Constructor Detail


public Param(ValueStack stack)
Method Detail


public boolean end(Writer writer,
                   String body)
Description copied from class: Component
Callback for the end tag of this component. Should the body be evaluated again?

NOTE: will pop component stack.

end in class Component
writer - the output writer.
body - the rendered body.
true if the body should be evaluated again


public boolean usesBody()
Description copied from class: Component
Overwrite to set if body shold be used.

usesBody in class Component
always false for this component.


public void setName(String name)


public void setValue(String value)

Copyright © 2000-2009 Apache Software Foundation. All Rights Reserved.