org.apache.struts2.components
Class Param

java.lang.Object
  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.

Examples

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

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="cart.total.cost">
     <s:param value="#session.cartTotal"/>
 </s:text>
 

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
 
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, copyParams, determineActionURL, determineNamespace, end, fieldError, findAncestor, findString, findString, findValue, findValue, findValue, getComponentStack, getParameters, getStack, popComponentStack, setActionMapper, start, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

name

protected String name

value

protected String value
Constructor Detail

Param

public Param(ValueStack stack)
Method Detail

end

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.

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

usesBody

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

Overrides:
usesBody in class Component
Returns:
always false for this component.

setName

public void setName(String name)

setValue

public void setValue(String value)


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