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:
-
/customer/add.htm –> add() method
-
/customer/delete.htm –> delete() method
-
/customer/update.htm –> update() method
-
/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
Téléchargez-le -SpringMVC-MultiActionController-Annotation-Example.zip (7 Ko)