Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.struts2.components
Class ActionComponent

    java.lang.Object
      org.apache.struts2.components.Component
          org.apache.struts2.components.ContextBean
              org.apache.struts2.components.ActionComponent

    public class ActionComponent

extends ContextBean

This tag enables developers to call actions directly from a JSP page by specifying the action name and an optional namespace. The body content of the tag is used to render the results from the Action. Any result processor defined for this action in struts.xml will be ignored, unless the executeResult parameter is specified.

- id (String) - the id (if specified) to put the action under stack's context.
- name* (String) - name of the action to be executed (without the extension suffix eg. .action)
- namespace (String) - default to the namespace where this action tag is invoked
- executeResult (Boolean) - default is false. Decides whether the result of this action is to be executed or not
- ignoreContextParams (Boolean) - default to false. Decides whether the request parameters are to be included when the action is invoked

     public class ActionTagAction extends ActionSupport {

      public String execute() throws Exception {
          return "done";
      }

      public String doDefault() throws Exception {
          ServletActionContext.getRequest().setAttribute("stringByAction", "This is a String put in by the action's doDefault()");
          return "done";
      }
     }

          ....

             success.jsp

             success.jsp

          ....

      The following action tag will execute result and include it in this page

      The following action tag will do the same as above, but invokes method specialMethod in action

      The following action tag will not execute result, but put a String in request scope
           under an id "stringByAction" which will be retrieved using property tag

Field Summary
`protected ActionProxyFactory` | `actionProxyFactory`
`protected boolean` | `executeResult`
`protected boolean` | `flush`
`protected boolean` | `ignoreContextParams`
`protected String` | `name`
`protected String` | `namespace`
`protected ActionProxy` | `proxy`
`protected javax.servlet.http.HttpServletRequest` | `req`
`protected javax.servlet.http.HttpServletResponse` | `res`
`protected boolean` | `rethrowException`
`protected ValueStackFactory` | `valueStackFactory`

Fields inherited from class org.apache.struts2.components.ContextBean
`var`

Fields inherited from class org.apache.struts2.components.Component
`actionMapper, COMPONENT_STACK, devMode, parameters, stack, standardAttributesMap, throwExceptionOnELFailure`

Constructor Summary
`ActionComponent(ValueStack stack, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)`

Method Summary
`protected Map` | `createExtraContext()`
`protected Map<String,String[]>` | `createParametersForContext()` Creates parameters map using parameters from the value stack and component parameters.
`boolean` | `end(Writer writer, String body)` Callback for the end tag of this component.
`protected void` | `executeAction()` Execute the requested action.
`ActionProxy` | `getProxy()`
`void` | `setActionMapper(ActionMapper mapper)`
`void` | `setActionProxyFactory(ActionProxyFactory actionProxyFactory)`
`void` | `setExecuteResult(boolean executeResult)`
`void` | `setFlush(boolean flush)`
`void` | `setIgnoreContextParams(boolean ignoreContextParams)`
`void` | `setName(String name)`
`void` | `setNamespace(String namespace)`
`void` | `setRethrowException(boolean rethrowException)`
`void` | `setValueStackFactory(ValueStackFactory valueStackFactory)`

Methods inherited from class org.apache.struts2.components.ContextBean
`getVar, putInContext, setId, setVar`

Methods inherited from class org.apache.struts2.components.Component
`addAllParameters, addParameter, altSyntax, completeExpressionIfAltSyntax, copyParams, determineActionURL, determineNamespace, end, fieldError, findAncestor, findString, findString, findStringIfAltSyntax, findValue, findValue, findValue, getComponentStack, getParameters, getStack, getStandardAttributes, isValidTagAttribute, popComponentStack, setDevMode, setThrowExceptionsOnELFailure, setUrlHelper, start, stripExpressionIfAltSyntax, toString, usesBody`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### res

    protected javax.servlet.http.HttpServletResponse res

### req

    protected javax.servlet.http.HttpServletRequest req

### valueStackFactory

    protected ValueStackFactory valueStackFactory

### actionProxyFactory

    protected ActionProxyFactory actionProxyFactory

### proxy

    protected ActionProxy proxy

### name

    protected String name

### namespace

    protected String namespace

### executeResult

    protected boolean executeResult

### ignoreContextParams

    protected boolean ignoreContextParams

### flush

    protected boolean flush

### rethrowException

    protected boolean rethrowException

Constructor Detail

### ActionComponent

    public ActionComponent(ValueStack stack,
                           javax.servlet.http.HttpServletRequest req,
                           javax.servlet.http.HttpServletResponse res)

Method Detail

### setActionProxyFactory

    public void setActionProxyFactory(ActionProxyFactory actionProxyFactory)

  Parameters:
    `actionProxyFactory` - the actionProxyFactory to set

### setValueStackFactory

    public void setValueStackFactory(ValueStackFactory valueStackFactory)

### setActionMapper

    public void setActionMapper(ActionMapper mapper)

  Overrides:
    `setActionMapper` in class `Component`

### 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

### createExtraContext

    protected Map createExtraContext()

### createParametersForContext

    protected Map<String,String[]> createParametersForContext()

  Creates parameters map using parameters from the value stack and component parameters. Any non-String array values will be converted into a single-value String array.

  Returns:
    A map of String[] parameters

### getProxy

    public ActionProxy getProxy()

### executeAction

    protected void executeAction()

  Execute the requested action. If no namespace is provided, we'll attempt to derive a namespace using buildNamespace(). The ActionProxy and the namespace will be saved into the instance variables proxy and namespace respectively.

  See Also:
    `TagUtils.buildNamespace(org.apache.struts2.dispatcher.mapper.ActionMapper, com.opensymphony.xwork2.util.ValueStack, javax.servlet.http.HttpServletRequest)`

### setName

    public void setName(String name)

### setNamespace

    public void setNamespace(String namespace)

### setExecuteResult

    public void setExecuteResult(boolean executeResult)

### setIgnoreContextParams

    public void setIgnoreContextParams(boolean ignoreContextParams)

### setFlush

    public void setFlush(boolean flush)

### setRethrowException

    public void setRethrowException(boolean rethrowException)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000–2018 Apache Software Foundation. All rights reserved.