Chain Action Result Example
Posted on: January 22, 2011 at 12:00 AM
In this tutorial you will learn how to chain the action in the in struts2.2.1

Chain Action Example

Struts2.2.1 provides the feature to chain many actions into a defined sequence or work flow. This feature can be used in an application by applying Chain Result to a action. A Chain Result is an result type which intercepts an interceptor with its own result and stack. This allows to forward a request to an another action. While propagating the state.

An Example of Chain Action is given below.

struts.xmlADS_TO_REPLACE_1

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />

<package name="public" extends="struts-default">
<!-- Chain creatAccount to login, using the default parameter -->

<action name="showLogin">
<result>/jsp/login.jsp</result>
</action>

<action name="doLogin" class="net.roseindia.Login">
<!-- Chain to another namespace -->

<result type="chain">
<param name="actionName">home</param>
<param name="namespace">/secure</param>
</result>
</action>

</package>

<package name="secure" extends="struts-default" namespace="/secure">

<action name="home">
<result>/jsp/home.jsp</result>
</action>

</package>

</struts>

Login.java

package net.roseindia;
import com.opensymphony.xwork2.ActionSupport;
public class Login extends ActionSupport {

public String execute() throws Exception {
System.out.println("Login Action Called");
if(getUsername().equalsIgnoreCase("")|| getPassword().equalsIgnoreCase("")){
return ERROR;
}
else if(!getUsername().equals("Admin") || !getPassword().equals("Admin")){
return ERROR;
}else{
return SUCCESS;
}
}

private String username = null;

public String getUsername() {
return username;
}

public void setUsername(String value) {
username = value;
}

private String password = null;

public String getPassword() {
return password;
}

public void setPassword(String value) {
password = value;
}

}

login.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Chain Result Example</title>

<link href="<s:url value="/css/main.css"/>" rel="stylesheet"
type="text/css"/>

</head>
<body>
<s:form action="doLogin" method="POST"> 
<tr>
<td colspan="2">
Login
</td>
</tr>
<tr>
<td colspan="2">
<s:actionerror />
<s:fielderror />
</td>
</tr>
<s:textfield name="username" label="Login name"/>
<s:password name="password" label="Password"/>
<s:submit value="Login" align="center"/> 
</s:form>
</body>
</html>

home.jspADS_TO_REPLACE_2

<%@ taglib prefix="s" uri="/struts-tags" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Home Page </TITLE>
</HEAD>

<BODY bgcolor="lightgreen">
<center><font face="Arier" size="16">This is Home page</font>
<font face="arier" size="14"><br>Welcome : <s:property value="username"/></font>
</center>
</BODY>
</HTML>
When you run this application it will display message as shown below:

 


Download this example code

Related Tags for Chain Action Result Example:

Advertisements

Ads

 
Advertisement null

Ads