Exemple d’annotation Spring MVC MultiActionController

Exemple d'annotation Spring MVC MultiActionController

Dans ce didacticiel, nous vous montrons comment développer unMultiActionController basé sur des annotations Spring MVC, en utilisant@RequestMapping.

Dans MultiActionController basé sur XML, vous devez configurer le résolveur de nom de méthode (InternalPathMethodNameResolver,PropertiesMethodNameResolver ouParameterMethodNameResolver) pour mapper l'URL à un nom de méthode particulier. Mais, la vie est plus facile avec la prise en charge des annotations, vous pouvez maintenant utiliser l'annotation@RequestMapping comme un résolveur de nom de méthode, qui servait à mapper l'URL à une méthode particulière.

Note
Cet exemple basé sur des annotations est converti à partir des derniers Spring MVCMultiActionController XML-based example. Alors, comparez et repérez les différents.

Pour le configurer, définissez@RequestMapping avec l'URL de mappage au-dessus du nom de la méthode.

package com.example.common.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 CustomerController{

    @RequestMapping("/customer/add.htm")
    public ModelAndView add(HttpServletRequest request,
        HttpServletResponse response) throws Exception {

        return new ModelAndView("CustomerAddView");

    }

    @RequestMapping("/customer/delete.htm")
    public ModelAndView delete(HttpServletRequest request,
        HttpServletResponse response) throws Exception {

        return new ModelAndView("CustomerDeleteView");

    }

    @RequestMapping("/customer/update.htm")
    public ModelAndView update(HttpServletRequest request,
        HttpServletResponse response) throws Exception {

        return new ModelAndView("CustomerUpdateView");

    }

    @RequestMapping("/customer/list.htm")
    public ModelAndView list(HttpServletRequest request,
        HttpServletResponse response) throws Exception {

        return new ModelAndView("CustomerListView");

    }
}

Maintenant, l'URL correspondra au nom de la méthode selon les modèles suivants:

  1. /customer/add.htm –> add() method

  2. /customer/delete.htm –> delete() method

  3. /customer/update.htm –> update() method

  4. /customer/list.htm –> list() method

Note
Dans Spring MVC, ce@RequestMapping est toujours le mécanisme de mappage le plus flexible et le plus facile à utiliser.

Télécharger le code source