Рубрики
Без рубрики

Пример мультиакционного контроллера Spring MVC

– Мультиакционный контроллер Spring MVC пример

В приложении Spring MVC MultiActionController используется для группировки связанных действий в один контроллер, обработчик метода должен следовать приведенной ниже подписи:

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

1. Мультиакционный контроллер

См. Пример мультиакционного контроллера.

package com.mkyong.common.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

public class CustomerController extends MultiActionController{
	
	public ModelAndView add(HttpServletRequest request,
		HttpServletResponse response) throws Exception {
		
		return new ModelAndView("CustomerPage", "msg","add() method");
			
	}
	
	public ModelAndView delete(HttpServletRequest request,
		HttpServletResponse response) throws Exception {
			
		return new ModelAndView("CustomerPage", "msg","delete() method");
				
	}
	
	public ModelAndView update(HttpServletRequest request,
		HttpServletResponse response) throws Exception {
			
		return new ModelAndView("CustomerPage", "msg","update() method");
				
	}
	
	public ModelAndView list(HttpServletRequest request,
		HttpServletResponse response) throws Exception {
				
		return new ModelAndView("CustomerPage", "msg","list() method");
					
	}
	
}

С ControllerClassNameHandlerMapping настроено.



 
    
  
	

2. Примеры отображения

Теперь запрошенный URL-адрес будет сопоставлен с именем метода в следующих шаблонах:

  1. Клиент Контроллер –> /клиент/*
  2. /клиент/ добавить .htm –> добавить()
  3. /клиент/ удалить .htm –> удалить()
  4. /клиент/ обновление .htm –> обновление()
  5. //клиент/ список .html –> список()

3. Решатель внутренних путей и методов

По умолчанию используется решатель InternalPathMethodNameResolver MultiActionController реализация для сопоставления URL-адреса с именем метода. Но вам все равно разрешено добавлять префикс или суффикс к имени метода:


 
    
  
     
	
	   
	   
	
     
   

Теперь URL-адрес будет сопоставлен с именем метода в следующем шаблоне:

  1. Клиент Контроллер –> /клиент/*
  2. /клиент/ добавить .htm –> тест добавить Клиент ()
  3. /клиент/ удалить .htm –> проверить удалить Клиент()
  4. /клиент/ обновление .htm –> тест обновление Клиент()
  5. /клиент/ список .htm –> тест listC устомер()

Скачать Исходный Код

Рекомендации

  1. Многофункциональный контроллер Javadoc
  2. Internalpathmethod имярешатель Javadoc

Оригинал: “https://mkyong.com/spring-mvc/spring-mvc-multiactioncontroller-example/”