Maison >Java >javaDidacticiel >Explication détaillée des sept méthodes de retour prises en charge par Spring MVC

Explication détaillée des sept méthodes de retour prises en charge par Spring MVC

Y2J
Y2Joriginal
2017-05-16 09:45:052068parcourir

Cet article présente principalement les types facultatifs de valeurs de retour du contrôleur SpringMVC. Spring MVC prend en charge les méthodes de retour suivantes : ModelAndView, Model, ModelMap, Map, View, String, void. Ceux qui sont intéressés peuvent en savoir plus

spring mvc prend en charge les méthodes de retour suivantes : ModelAndView, Model, ModelMap, Map, View, String, void.

ModelAndView

@RequestMapping("/hello")
  public ModelAndView helloWorld() { 
    String message = "Hello World, Spring 3.x!";
    return new ModelAndView("hello", "message", message);
  }
Vous pouvez spécifier le nom de la page renvoyé via la méthode constructeur ModelAndView

, ou vous pouvez accéder à la page spécifiée via la méthode setViewName() La page

Map

@RequestMapping("/demo2/show") 
  public Map<String, String> getMap() { 
    Map<String, String> map = new HashMap<String, String>(); 
    map.put("key1", "value-1"); 
    map.put("key2", "value-2"); 
    return map; 
  }
peut obtenir la valeur directement via ${key1} dans la page jsp map.put(). équivalent à la méthode request.setAttribute .

View

peut revenir au pdf Excel, etc. Je ne connais pas encore les détails.

String

Spécifie le nom de la page

View renvoyé, accessible en combinant le chemin de l'adresse de retour défini et le suffixe du nom de la page.

Remarque : Si la méthode déclare l'annotation @ResponseBody, la valeur de retour sera affichée directement sur la page.

@RequestMapping(value="/showdog")
  public String hello1(){
    return "hello";
  }
@RequestMapping(value="/print")
  @ResponseBody
  public String print(){
    String message = "Hello World, Spring MVC!";
    return message;
  }
Exemple de retour de

json (en utilisant Jackson) :

@RequestMapping("/load1")
  @ResponseBody
  public String load1(@RequestParam String name,@RequestParam String password) throws IOException{
    System.out.println(name+" : "+password); 
    //return name+" : "+password;
    MyDog dog=new MyDog();
    dog.setName("小哈");dog.setAge("1岁");dog.setColor("深灰");
    ObjectMapper objectMapper = new ObjectMapper();
    String jsonString=objectMapper.writeValueAsString(dog);
    System.out.println(jsonString);
    return jsonString;
  }

void

if Si la valeur de retour est vide, la page de vue de réponse correspond à l'adresse d'accès

@RequestMapping("/index")
  public void index() {
    return;
  }
et le nom de vue logique correspondant est "index"

Résumé :

1. Utiliser String comme type de valeur de retour de la méthode de traitement de la requête est une méthode plus générale, de sorte que le nom de la vue logique renvoyé ne sera pas lié à l'URL de la requête, ce qui offre une grande flexibilité, et

ModèleLes données peuvent être contrôlées via ModelMap.

2. Lors de l'utilisation de void, map et Model, la véritable URL du nom de vue logique correspondant renvoyé est : préfixe + nom de vue + suffixe.


3. En utilisant String, le nom de vue renvoyé par ModelAndView ne peut pas être lié à l'URL demandée, et ModelAndView peut définir le nom de vue renvoyé.

【Recommandations associées】

1.

Recommandation spéciale : Téléchargement de la version V0.1 de "php Programmer Toolbox"

2.

Tutoriel vidéo gratuit Java

3

Manuel du didacticiel JAVA

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn