You are on page 1of 5

AbstractWizardFormController -Spring

Description: web applications requires to display more than one

screen that a user interacts with in order to complete a given task.
This sequence of screens is called a "wizard." And this controller
allows you to carry the same command object through an entire flow of
Web pages, thus allowing you to break up the presentation into
multiple stages that act on the single model

Problem Description: A User registration process where the values are

captured from the user in more than one page, and on the confirmation
from the user for the values entered, the values are stored in the
database (Saving the values to the database is beyond the scope of
this document).The Screen shots of the same are as below

Page 1:

Page 2:

Page 3:

Next – Takes you to next page

Previous – Takes you to the previous page
Submit – Persist the data
Cancel – will take you back to the first page

Step 1: Configuring the spring main servlet (DispatcherServlet) in


In the web.xml we have named the servlet as spring; hence the spring
context file is required to be named as spring-servlet.xml

Step 2: Configuring the Controller in spring-servlet.xml

The Controller provide by spring framework for the above discussed
scenario is AbstractWizardFormController, hence our controller has to implement AbstractWizardFormController

The controller is required to override at least three methods as

defined below

• processCancel – the action that is required to be taken when

the cancel button is pressed, the name of the button in the jsp
file has to be “_cancel”
• processFinish – the action that is required to be taken when
the submit button is pressed, the name of the button in the jsp
page has to be “_submit”
• validatePage – The validations for the each and every page in
the wizard

Important Note: In the userinterface, as shown in the problem

description can have next button and the previous button. The order
of the pages that has to be appeared when they are clicked is defined
by the order in which they are set in the application context file,
for example

In the example shown above the order are form1, form2 and form3 and
the single model object that is associated with these forms is


For more details contact me at or leave comment on

Thank You,
Santosh Kothapalli SCWCD