CodesJava

Easy learning with example program codes

Struts 2 Zero Configuration by annotation approach


As we discussed how to create a struts application using struts.xml file. Struts framework also provides a way to create a struts application without using struts.xml file. Struts framework provides the annotation to achieve this. A struts application without using struts.xml file is also known as application with Zero Configuration.

Some useful annotations.

1. @Action: It is used for action mapping for execute method or marking a class as action class.

2. @Result: It is used to specify the view screen based on the outcome of execute method.

3. @Results: It is used to define multiple results for an action. It is a collection of results.

4. @RequiredFieldValidator: It is used to perform required validation on the field.

Struts 2 Zero Configuration by annotation approach example:

login.jsp

<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
       <head>
		<title>Struts 2 zero configuration by
                                 annotation approach example</title>
	</head>
	<body>
		<h3>This is a zero configuration by 
                                    annotation approach 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>

Login.java

import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Result;
import com.opensymphony.xwork2.ActionSupport;
 
/**
 * This class is used as an action class.
 * @author codesjava
 */
@Action(value="login", results={
	@Result(name="success",location="/welcome.jsp"),
	@Result(name="error",location="/login.jsp")
})
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;
	}
}

login-error.jsp

<jsp:include page="/login.jsp"></jsp:include>

login-error.jsp

<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
	<head>
		<title>Struts 2 zero configuration by 
                            annotation approach example</title>
	</head>
	<body>
		<h3>This is a zero configuration by 
                              annotation approach example.</h3>
 
		<s:property value="message" />
 
	</body>
</html>

Output:

struts 25 login
 
Enter UserName: jai and Password: 1234
struts 25 value
 
Click on login button.
struts 25 final
 
Download this example.
 
Next Topic: DispatchAction Functionality in Struts 2 with example.
Previous Topic: Struts 2 Zero Configuration by convention approach with example.

Related Topics:

How to build java project using ant in eclipse?
JAXB marshalling – convert java object to xml example.
How to create pdf file in java using iText jar?
Generics class example.
OGNL in struts 2.
Hibernate One-to-One Mapping using xml.
Send inline image in email using JavaMail API.
Quartz 2 JobListener example.

 



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 © 2019 CodesJava DMCA.com Protection Status SiteMap Reference: Java Wiki