CodesJava

Easy learning with example program codes

Action in struts 2 by extending ActionSupport class


ActionSupport class implements a no. of interfaces like Action, Validateable, LocaleProvider and Serializable etc. It is more commonly used instead of Action interface.

Example:

login.jsp

<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
	<head>
	  <title>Struts 2 ActionSupport class extends example</title>
	</head>
	<body>
		<h3>This is an ActionSupport class extends example.</h3>
 
		<s:property value="message" /> <br/>
 
		<s:form action="Login">
			<s:textfield name="userName" label="UserName" />
			<s:password name="password" label="Password" />
			<s:submit value="login" align="center"/>
		</s:form>
 
	</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>login.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="user" extends="struts-default">
   <action name="Login" class="com.codesjava.action.Login">
	  <result name="success">/welcome.jsp</result>
	  <result name="error">/login.jsp</result>
   </action>
  </package>
 
</struts>

Login.java

import com.opensymphony.xwork2.ActionSupport;
 
/**
 * This class is used as an action class 
 * and extends ActionSupport class.
 * @author codesjava
 */
public class Login extends ActionSupport{
	//data members
	private String userName;
	private String password;
	private String message;
 
	//business logic
	public String execute(){
		if(userName.equals("jai") && 
				password.equals("1234")){
			setMessage("Hello " +userName + ", " +
				"You are successfully logged in.");
			return SUCCESS;
		}else{
			setMessage("Invalid username or password.");
			return ERROR;
		}		
	}	
 
	//getter setters
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getMessage() {
		return message;
	}
	public void setMessage(String message) {
		this.message = message;
	}
}

welcome.jsp

<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
	<head>
	 <title>Struts 2 ActionSupport class extends example</title>
	</head>
	<body>
	  <h3>This is an ActionSupport class extends example.</h3>
	  <s:property value="message" />	 
	</body>
</html>

Output:

struts 4 login
 
Enter UserName: jai , Password: 1234
struts 4 value
 
Click on login button. 1234
struts 4 final
 
Download this example.
 
Next Topic: Struts 2 Hello World example.
Previous Topic: Action in struts 2 by implementing Action interface with example.

Related Topics:

Action in struts 2 by using POJO class with example.
Action in struts 2 by implementing Action interface with example.
Action in struts 2 by extending ActionSupport class with example.

 

Sign Up/ Sign In
Ask a Question


Industrial Training

We offers Placement Oriented Training on Java, Spring, JSF, Hibernate, PHP, AngularJS, Angular 4, PLSQL, Oracle BI Publisher etc. We also provides Online training, please mail us at hr@codesjava.com.

Development

We also provides the Development services for Website Development , Java Development, PHP Development, Android App Development etc. You can contact us on hr@codesjava.com.

Copyright © 2018 CodesJava DMCA.com Protection Status SiteMap Reference: Java Wiki