Technologieaustausch

Anfänger von SpringMVC erhalten Anforderungsparameter und Datenecho

2024-07-12

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

Die Datei pom.xml importiert Lombok-Abhängigkeiten

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

@Controller bedeutet, dass es sich um einen Controller handelt

@RequestParam bedeutet Empfangen vom Frontend

Im Allgemeinen wird Model verwendet, um die zurückgegebenen Ergebnisse an das Frontend zu übergeben.

  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 Parametrischer Konstruktor

@NoArgsConstructor Konstruktor ohne Argumente

(Sie müssen das JAR-Paket von Lombok importieren, bevor Sie darauf verweisen können.)

  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. }

Empfangen Sie die vom Front-End-Benutzer übergebenen Parameter und ermitteln Sie den Namen des Parameters. Vorausgesetzt, dass sich der Name in der Methode befindet, kann er direkt verwendet werden.

Die übergebenen Parameter müssen mit den vom Objekt empfangenen Parameterfeldern übereinstimmen

  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. }

Geben Sie beispielsweise http:localhost:8080/user/test2?name=hh&age=18 in die Adressleiste ein.

(Sie müssen die Parameter entsprechend der von Ihnen erstellten Klasse festlegen. Wenn die Benutzerklasse oben verwendet wird, verwenden Sie die Variablen in der Benutzerklasse.)

Die Ausgabe ist:

So zeigen Sie Daten im Frontend an:

1. Modell und Ansicht

Erstellen Sie zunächst ein neues ModelAndView()

Kapseln Sie dann die Daten über addObject

Schließlich legt setViewName den zurückgegebenen Ansichtsnamen fest.

2. Modell

Verwenden Sie die Modellschnittstelle in Methodenklammern

Kapseln Sie Daten über addAttribute

Kehren Sie schließlich zur Ansicht zurück

3. Modellkarte

Drücken Sie Strg + H, um den Baum anzuzeigen

ModelMap erbt LinkedHashMap und verfügt über alle seine Funktionen

Die Verwendung ähnelt der von Model

Vergleich der drei:

1. Das Modell verfügt nur über wenige geeignete Methoden zum Speichern von Daten

2. ModelMap implementiert nicht nur seine eigenen Methoden, sondern erbt auch die Methoden und Eigenschaften von LinkedHashMap

3. Beim Speichern von Daten kann ModelAndView die zurückgegebene logische Ansicht festlegen und den Sprung der Anzeigeebene steuern.