Apache Struts 2 Documentation > Home > Guides > Tag Developers Guide > Struts Tags > Tag Reference > Generic Tag Reference > action
Added by digi9ten, last edited by Don Brown on Jan 06, 2007  (view change)
Please make sure you have read the Tag Syntax document and understand how tag attribute syntax works.

Description

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.

Parameters

Name

Required

Default

Evaluated

Type

Description

executeResult false false true Boolean Whether the result of this action (probably a view) should be executed/rendered
flush false true true Boolean Whether the writer should be flush upon end of action component tag, default to true
id false true String id for referencing element. For UI and form tags it will be used as HTML id attribute
ignoreContextParams false false true Boolean Whether the request parameters are to be included when the action is invoked
name true true String Name of the action to be executed (without the extension suffix eg. .action)
namespace false namespace from where tag is used true String Namespace for action to call

Examples

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";
 }
}
<xwork>
   ....
  <action name="actionTagAction1" class="tmjee.testing.ActionTagAction">
      <result name="done">success.jsp</result>
  </action>
   <action name="actionTagAction2" class="tmjee.testing.ActionTagAction" method="default">
      <result name="done">success.jsp</result>
  </action>
   ....
</xwork>
<div>The following action tag will execute result and include it in this page</div>
<br />
<s:action name="actionTagAction" executeResult="true" />
<br />
<div>The following action tag will do the same as above, but invokes method specialMethod in action</div>
<br />
<s:action name="actionTagAction!specialMethod" executeResult="true" />
<br />
<div>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</div>
<s:action name="actionTagAction!default" executeResult="false" />
<s:property value="#attr.stringByAction" />