Spring MVC MultiActionController example

Spring MVC tutorial:

Spring MultiActionController is used to map similar actions to single controller. So If you use MultiActionController class, you do not need to create new controller class for each action.

For example: When we login to internet banking, there is an option to add and delete payee. So we can use single PayeeController to perform similar actions such as add and delete.

As per spring docs, Method handler have to follow structure:

public (ModelAndView | Map | String | void) actionName(HttpServletRequest request, HttpServletResponse response, [,HttpSession] [,AnyObject]);

Example:

Prerequisite:

You need to create spring mvc hello world example first.

Once you are done with spring mvc sample project. We need to add or modify following files.

  • Add a controller class named “PayeeController,java “
  • Modify index.jsp
  • Add new file named “payee.jsp” in /WEB-INF/ folder.

Thats all we need to do to demonstrate Spring MultiActionController example.

1) create Controller named “PayeeController.java” in org.arpit.java2blog.java2blog.springmvc.controller

package org.arpit.java2blog.springmvc.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class PayeeController {
 @RequestMapping("/payee/add.htm")
 public ModelAndView add(HttpServletRequest request,
  HttpServletResponse response) throws Exception {
  return new ModelAndView("payee", "message", "Payee Added");
 }
 @RequestMapping("/payee/delete.htm")
 public ModelAndView delete(HttpServletRequest request,
  HttpServletResponse response) throws Exception {
  return new ModelAndView("payee", "message", "Payee Deleted");
 }
}


As you can see here, you do not need to extend MultiAction class explicitly if you are using @controller annotation.

2) Modify index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Spring MVC multiActionControllerExample


Add Payee |
Delete Payee



3)Create payee.jsp in /WEB_INF folder.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Payee


${message}

Project structure after following above steps:
 

4) It ‘s time to do maven build.

Right click on project -> Run as -> Maven build
5) Provide goals as clean install (given below) and click on run

Run the application

6) Right click on project -> run as -> run on server
Select apache tomcat and click on finish

7) You will see below screen:

When you click on Add Payee link, you will get below screen

We are done with Spring MVC MutliActionController example. If you are still facing any issue, please comment.
[social_share share_on="facebook,twitter,linkedin,whatsapp"][post_navigator in_same_term="true"]

Leave a Reply

Your email address will not be published. Required fields are marked *

Subscribe to our newletter

Get quality tutorials to your inbox. Subscribe now.