com.opensymphony.webwork.components
Class Set
java.lang.Object
com.opensymphony.webwork.components.Component
com.opensymphony.webwork.components.Set
public class Set - extends Component
The set tag assigns a value to a variable in a specified scope. It is useful when you wish to assign a variable to a
complex expression and then simply reference that variable each time rather than the complex expression. This is
useful in both cases: when the complex expression takes time (performance improvement) or is hard to read (code
readability improvement).
The set tag accepts body. However the followings need to be take note when using set tag with body
- body are treated as String and will not be parsed by OGNL
- body could be scriptlet or JSP tags, the String representation of scriptlet or JSP tags will be used
- A non-empty will take precedence if there's also a value attribute present, if the body is empty, then the value attribute will be used
Parameters
- name* (String): The name of the new variable that is assigned the value of value
- value (Object): The value that is assigned to the variable named name
- scope (String): The scope in which to assign the variable. Can be application, session,
request, page, or action. By default it is action.
Examples
<ww:set name="personName" value="person.name"/>
Hello, <ww:property value="%{#personName}"/>. How are you?
<ww:set name="personName">
<ww:property value="%{'some string'}" />
</ww:set>
Hello, <ww:property value="%{#personName}"/>. How are you?
<ww:set name="personName">
<c:set value="${person.name}" />
</ww:set>
Hello, <ww:property value="%{#personName}"/>. How are you?
- Since:
- 2.2
- Version:
- $Revision: 2871 $
- Author:
- Patrick Lightbody, Rene Gielen
|
Method Summary |
boolean |
end(Writer writer,
String body)
Callback for the end tag of this component. |
void |
setName(String name)
The name of the new variable that is assigned the value of value |
void |
setScope(String scope)
The scope in which to assign the variable. |
void |
setValue(String value)
The value that is assigned to the variable named name |
boolean |
usesBody()
Returns true, so that we use EVAL_BODY_BUFFERED instead of EVAL_BODY_INCLUDE |
| Methods inherited from class com.opensymphony.webwork.components.Component |
addAllParameters, addParameter, altSyntax, copyParams, determineActionURL, determineNamespace, end, fieldError, findAncestor, findString, findString, findValue, findValue, findValue, getComponentStack, getId, getParameters, getStack, popComponentStack, setId, start, toString |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
name
protected String name
scope
protected String scope
value
protected String value
Set
public Set(OgnlValueStack stack)
usesBody
public boolean usesBody()
- Returns true, so that we use EVAL_BODY_BUFFERED instead of EVAL_BODY_INCLUDE
- Overrides:
usesBody in class Component
- Returns:
- always false for this component.
- See Also:
Component.usesBody()
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
setName
public void setName(String name)
- The name of the new variable that is assigned the value of value
setScope
public void setScope(String scope)
- The scope in which to assign the variable. Can be application, session, request, page, or action.
setValue
public void setValue(String value)
- The value that is assigned to the variable named name
|