Partage de technologie

Les débutants de SpringMVC reçoivent les paramètres de requête et l'écho des données

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Le fichier pom.xml importe les dépendances Lombok

  1. <dependency>
  2. <groupId>org.projectlombok</groupId>
  3. <artifactId>lombok</artifactId>
  4. <version>1.18.34</version>
  5. </dependency>

@Controller signifie qu'il s'agit d'un contrôleur

@RequestParam signifie recevoir depuis le front-end

Généralement, Model est utilisé pour transmettre les résultats renvoyés au front-end.

  1. package com.demo.controller;
  2. import org.springframework.stereotype.Controller;
  3. import org.springframework.ui.Model;
  4. import org.springframework.web.bind.annotation.GetMapping;
  5. import org.springframework.web.bind.annotation.RequestMapping;
  6. import org.springframework.web.bind.annotation.RequestParam;
  7. @Controller
  8. @RequestMapping("/user")
  9. public class UserController {
  10. //localhost:8080/user/test?name=xx
  11. @GetMapping("/test")
  12. public String test(@RequestParam("name") String name, Model model){
  13. //1.接收前端参数
  14. System.out.println(name);
  15. //2.将返回的结果传递给前端
  16. model.addAttribute("msg",name);
  17. //3.视图跳转
  18. return "test"; //test.jsp
  19. }
  20. }

@AllArgsConstructor Constructeur paramétrique

@NoArgsConstructor constructeur sans argument

(Vous devez importer le package jar de lombok avant de pouvoir le référencer)

  1. package com.demo.pojo;
  2. import lombok.AllArgsConstructor;
  3. import lombok.Data;
  4. import lombok.NoArgsConstructor;
  5. @Data
  6. @AllArgsConstructor //有参构造器
  7. @NoArgsConstructor //无参构造器
  8. public class User {
  9. private String name;
  10. private int age;
  11. }

Recevez les paramètres transmis par l'utilisateur frontal et déterminez le nom du paramètre. En supposant que le nom figure sur la méthode, il peut être utilisé directement.

Les paramètres passés doivent être cohérents avec les champs paramètres reçus par l'objet

  1. package com.demo.controller;
  2. import com.demo.pojo.User;
  3. import org.springframework.stereotype.Controller;
  4. import org.springframework.web.bind.annotation.GetMapping;
  5. import org.springframework.web.bind.annotation.RequestMapping;
  6. @Controller
  7. @RequestMapping("/user")
  8. public class UserController {
  9. /*
  10. 1.接收前端用户传递的参数,判断参数的名字,假设名字在方法上,可以直接使用
  11. 2.假设传递的是一个对象User,匹配User对象中的字段名
  12. */
  13. @GetMapping("/test2")
  14. public String test2(User user){
  15. System.out.println(user);
  16. return "test";
  17. }
  18. }

Par exemple, saisissez http:localhost:8080/user/test2?name=hh&age=18 dans la barre d'adresse.

(Vous devez définir les paramètres en fonction de la classe que vous avez créée. Si la classe User est utilisée ci-dessus, utilisez les variables de la classe User)

Le résultat est :

Comment afficher les données sur le front-end :

1. Modèle et vue

Créez d’abord un nouveau ModelAndView()

Encapsulez ensuite les données via addObject

Enfin, setViewName définit le nom de la vue renvoyée.

2. Modèle

Utiliser l'interface du modèle entre parenthèses de méthode

Encapsuler les données via addAttribute

Revenons enfin à la vue

3. Carte du modèle

Appuyez sur ctrl + h pour afficher l'arborescence

ModelMap hérite de LinkedHashMap et possède toutes ses fonctions

L'utilisation est similaire au modèle

Comparaison des trois :

1. Le modèle ne dispose que de quelques méthodes adaptées au stockage des données

2. En plus d'implémenter ses propres méthodes, ModelMap hérite également des méthodes et caractéristiques de LinkedHashMap

3. Lors du stockage des données, ModelAndView peut définir la vue logique renvoyée et contrôler le saut de la couche d'affichage.