Condivisione della tecnologia

I principianti di SpringMVC ricevono i parametri di richiesta e l'eco dei dati

2024-07-12

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

Il file pom.xml importa le dipendenze lombok

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

@Controller significa che questo è un controller

@RequestParam significa ricevere dal front-end

In genere, Model viene utilizzato per passare i risultati restituiti al 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 Costruttore parametrico

@NoArgsConstructor costruttore senza argomenti

(Devi importare il pacchetto jar di lombok prima di poterlo fare riferimento)

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

Ricevere i parametri passati dall'utente front-end e determinare il nome del parametro Supponendo che il nome sia sul metodo, può essere utilizzato direttamente.

I parametri passati devono essere coerenti con i campi dei parametri ricevuti dall'oggetto

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

Ad esempio, inserisci http:localhost:8080/user/test2?name=hh&age=18 nella barra degli indirizzi.

(Devi impostare i parametri in base alla classe che hai creato. Se sopra viene utilizzata la classe Utente, utilizza le variabili nella classe Utente)

L'output è:

Come visualizzare i dati sul front-end:

1. Modello e visualizzazione

Per prima cosa crea un nuovo ModelAndView()

Quindi incapsulare i dati tramite addObject

Infine, setViewName imposta il nome della vista restituita.

2. Modello

Utilizzare l'interfaccia del modello tra parentesi del metodo

Incapsulare i dati tramite addAttribute

Infine torna alla vista

3. ModelloMappa

Premi ctrl + h per visualizzare l'albero

ModelMap eredita LinkedHashMap e ha tutte le sue funzioni

L'utilizzo è simile a Modello

Confronto tra i tre:

1. Il modello ha solo pochi metodi adatti per la memorizzazione dei dati

2. Oltre a implementare i propri metodi, ModelMap eredita anche i metodi e le caratteristiche di LinkedHashMap

3. Durante la memorizzazione dei dati, ModelAndView può impostare la vista logica restituita e controllare il salto del livello di visualizzazione.