Spring MVC MultiActionController-Anmerkungsbeispiel

Beispiel für eine Spring MVC MultiActionController-Annotation

In diesem Tutorial zeigen wir Ihnen, wie Sie mithilfe von@RequestMapping ein auf Spring MVC-Annotationen basierendesMultiActionController entwickeln.

In XML-basiertem MultiActionController müssen Sie den Methodennamen-Resolver (InternalPathMethodNameResolver,PropertiesMethodNameResolver oderParameterMethodNameResolver) konfigurieren, um die URL einem bestimmten Methodennamen zuzuordnen. Mit der Unterstützung von Anmerkungen wird das Leben jedoch einfacher. Jetzt können Sie die Annotation von@RequestMappingals Resolver für Methodennamen verwenden, mit dem die URL einer bestimmten Methode zugeordnet wurde.

Note
Dieses auf Anmerkungen basierende Beispiel wird aus den letzten Spring MVCMultiActionController XML-based example konvertiert. Vergleichen und erkennen Sie die Unterschiede.

Um es zu konfigurieren, definieren Sie@RequestMapping mit einer Zuordnungs-URL über dem Methodennamen.

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");

    }
}

Jetzt wird die URL dem Methodennamen in den folgenden Mustern zugeordnet:

  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
In Spring MVC ist dieses@RequestMapping immer der flexibelste und benutzerfreundlichste Zuordnungsmechanismus.

Quellcode herunterladen