Class Set


public class Set extends ContextBean

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).

If the value parameter is omitted, the String to which the body evaluates is set as value for the scoped variable.

The scopes available are as follows:

  • application - the value will be set in application scope according to servlet spec. using the name as its key
  • session - the value will be set in session scope according to servlet spec. using the name as key
  • request - the value will be set in request scope according to servlet spec. using the name as key
  • page - the value will be set in page scope according to servlet spec. using the name as key
  • action - the value will be set in the request scope and Struts' action context using the name as key

NOTE:
If no scope is specified, it will default to action scope.

Parameters

  • var* (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.
  • Note: With the action scope, the variable is also assigned to the page scope.

Examples

 
 <s:set var="personName" value="person.name"/>
 Hello, <s:property value="#personName"/>

 <s:set var="janesName">Jane Doe</s:set>
 <s:property value="#janesName"/>
 
 
  • Field Details

    • scope

      protected String scope
    • value

      protected String value
    • trimBody

      protected boolean trimBody
  • Constructor Details

  • Method Details

    • 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
    • setVar

      public void setVar(String var)
      Overrides:
      setVar in class ContextBean
    • setScope

      public void setScope(String scope)
    • setValue

      public void setValue(String value)
    • setTrimBody

      public void setTrimBody(boolean trimBody)
    • usesBody

      public boolean usesBody()
      Description copied from class: Component
      Overwrite to set if body should be used.
      Overrides:
      usesBody in class Component
      Returns:
      always false for this component.