CodesJava

Easy learning with example program codes

Struts 2 execAndWait interceptor


execAndWait interceptor:

The execAndWait interceptor is used in case of long running action. It sends the user to an intermediate waiting page while action is executed.

Note: We have to put the meta refresh tag on the top of the waiting page so that waiting page will redirect to the required result page.

Struts 2 execAndWait interceptor example:

test.jsp

<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
	<head>
	 <title>Struts 2 execAndWait interceptor example</title>
	</head>
	<body>
	  <h3>This is an execAndWait interceptor example.</h3>
 
	  <s:form action="test">
		<s:submit value="Hello" 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>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="user" extends="struts-default">
		<action name="test" 
		           class="com.codejava.action.Test">
		  <interceptor-ref name="logger"/>
		  <interceptor-ref name="execAndWait"/>  
		  <result name="success">/welcome.jsp</result>
		  <result name="wait">/wait.jsp</result>
		</action>
	</package>
 
</struts>

Test.java

/**
 * This class is used as an action class.
 * @author codesjava
 */
public class Test {
 
	//business logic
	public String execute(){
		//for delaying processing.
		for(int count =0; count < 10000; count++){
			System.out.println(count);
		}
 
		return "success";	
	}	
}

welcome.jsp

<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
	<head>
	  <title>Struts 2 execAndWait interceptor example</title>
	</head>
	<body>
	  <h3>This is an execAndWait interceptor example.</h3>	 
	</body>
</html>

Output:

struts 9 first
 
Click on Hello button.
struts 9 wait
 
struts 9 final
 
Download this example.
 
Next Topic: Struts 2 custom interceptor with example.
Previous Topic: Interceptors in struts 2 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