Struts 2 action tag

<s:action>:

Tha <s:action> tag is used to call the action directly from a jsp page. By default all the results defined in struts.xml for this action will be ignored and control will not be transferred to the result. IfexecuteResult attribute is set to true then results defined in struts.xml for this action will work and the result page content will be displayed directly in the current page. By default executeResult attribute value is false.

Syntax: <s:action name=”actionName” executeResult=”true”/>

Example:

test.jsp

<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
	<head>
		<title>Struts 2 s:action data tag example</title>
	</head>
	<body>
		<h3>This is a s:action data tag example.</h3>
 
		<h4>Call userAction action.</h4>
		<s:action name="Test!userAction" executeResult="true"/> 
		<br/>
		<h4>Call adminAction action.</h4>
		<s:action name="Test!adminAction" executeResult="true"/>
 
	</body>
</html>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 
 
 	<filter>
	  <filter-name>struts2</filter-name>
	  <filter-class>
        	org.apache.struts2.dispatcher.ng.
        	filter.StrutsPrepareAndExecuteFilter
          </filter-class>
	</filter>
 
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
 
	<welcome-file-list>
	  <welcome-file>test.jsp</welcome-file>
	</welcome-file-list>
 
</web-app>

struts.xml

<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
 
<struts>
 
	<package name="default" extends="struts-default">
		<action name="Test" class="com.javawithease.action.Test">
			<result name="success">/welcome.jsp</result>
			<result name="user">/user.jsp</result>
			<result name="admin">/admin.jsp</result>
		</action>
	</package>
 
</struts>

Test.java

import com.opensymphony.xwork2.ActionSupport;
 
/**
 * This class is used as an action class.
 * @author javawithease
 */
public class Test extends ActionSupport{
 
	public String execute(){
		return SUCCESS;	
	}
 
	public String userAction(){
		return "user";	
	}
 
	public String adminAction(){
		return "admin";	
	}
 
}

admin.jsp

<html>
	<head></head>
	<body>
		<h5>Content of admin page.</h5>	 
	</body>
</html>

user.jsp

<html>
	<head></head>
	<body>
		<h5>Content of user page.</h5>	 
	</body>
</html>

welcome.jsp

<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
	<head>
		<title>Struts 2 s:action data tag example</title>
	</head>
	<body>
		<h3>This is a  s:action data tag example.</h3>
 
		Hello world.
 
	</body>
</html>

Output:

struts 48
 
Download this example.
 
Next Topic: Struts 2 include data tag with example.
Previous Topic: Struts 2 data tags with example.

Related Topics:

Struts 2 action tag with example.
Struts 2 include data tag with example.
Struts 2 bean data tag with example.
Struts 2 date data tag with example.
Struts 2 param data tag with example.
Struts 2 property data tag with example.
Struts 2 push data tag with example.
Struts 2 set data tag with example.
Struts 2 i18n and text data tags with example.
Struts 2 s:url and s:a data tags with example.