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:
-
/customer/add.htm –> add() method
-
/customer/delete.htm –> delete() method
-
/customer/update.htm –> update() method
-
/customer/list.htm –> list() method
Note
In Spring MVC ist dieses@RequestMapping
immer der flexibelste und benutzerfreundlichste Zuordnungsmechanismus.
Quellcode herunterladen
Laden Sie es herunter -SpringMVC-MultiActionController-Annotation-Example.zip (7 KB)