CodesJava

Easy learning with example program codes

Action in struts 2 by implementing Action interface


Action interface defines five constants and one no-argument method.

Action interface.

public interface Action {
   public static final String SUCCESS = "success";
   public static final String NONE = "none";
   public static final String ERROR = "error";
   public static final String INPUT = "input";
   public static final String LOGIN = "login";
   public String execute() throws Exception;
}

Example:

login.jsp

<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
	<head>
	 <title>Struts 2 action interface implementation example</title>
	</head>
	<body>
	     <h3>This is a action interface implementation 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.Action;
 
/**
 * This class is used as an action class 
 * and implements Action interface.
 * @author codesjava
 */
public class Login implements Action{
	//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 action interface implementation example</title> 
   </head>
   <body>
	<h3>This is a action interface implementation example.</h3>
	<s:property value="message" />	 
   </body>
</html>

Output:

struts 3 login
 
Enter UserName: jai , Password: 1234
struts 3 value
 
Click on login button.
struts 3 final
 
Download this example.
 
Next Topic: Action in struts 2 by extending ActionSupport class with example.
Previous Topic: Action in struts 2 by using POJO class 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