Κοινή χρήση τεχνολογίας

Οι αρχάριοι στο SpringMVC λαμβάνουν παραμέτρους αιτήματος και ηχώ δεδομένων

2024-07-12

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

Το αρχείο pom.xml εισάγει εξαρτήσεις lombok

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

@Controller σημαίνει ότι πρόκειται για ελεγκτή

@RequestParam σημαίνει λήψη από το μπροστινό μέρος

Γενικά, το Model χρησιμοποιείται για τη μετάδοση των επιστρεφόμενων αποτελεσμάτων στο μπροστινό μέρος.

  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 Παραμετρικός κατασκευαστής

@NoArgsConstructor Κατασκευαστής χωρίς όρισμα

(Πρέπει να εισαγάγετε το πακέτο βάζου του lombok για να μπορέσετε να το αναφέρετε)

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

Λάβετε τις παραμέτρους που μεταβίβασε ο χρήστης διεπαφής και προσδιορίστε το όνομα της παραμέτρου Υποθέτοντας ότι το όνομα βρίσκεται στη μέθοδο, μπορεί να χρησιμοποιηθεί απευθείας.

Οι παράμετροι που διαβιβάζονται πρέπει να είναι συνεπείς με τα πεδία παραμέτρων που λαμβάνονται από το αντικείμενο

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

Για παράδειγμα, πληκτρολογήστε http:localhost:8080/user/test2?name=hh&age=18 στη γραμμή διευθύνσεων.

(Πρέπει να ορίσετε παραμέτρους σύμφωνα με την κλάση που δημιουργήσατε. Εάν η κλάση Χρήστης χρησιμοποιείται παραπάνω, χρησιμοποιήστε τις μεταβλητές στην κατηγορία Χρήστης)

Η έξοδος είναι:

Πώς να εμφανίσετε δεδομένα στο μπροστινό μέρος:

1. ModelAndView

Πρώτα δημιουργήστε ένα νέο ModelAndView()

Στη συνέχεια, ενσωματώστε τα δεδομένα μέσω του addObject

Τέλος, το setViewName ορίζει το όνομα της προβολής που επιστρέφεται.

2. Μοντέλο

Χρησιμοποιήστε τη διεπαφή μοντέλου σε αγκύλες μεθόδου

Ενθυλακώστε δεδομένα μέσω του addAttribute

Επιτέλους επιστρέψτε στη θέα

3. ModelMap

Πατήστε ctrl + h για να δείτε το δέντρο

Το ModelMap κληρονομεί το LinkedHashMap και έχει όλες τις λειτουργίες του

Η χρήση είναι παρόμοια με το μοντέλο

Σύγκριση των τριών:

1. Το μοντέλο έχει μόνο μερικές μεθόδους κατάλληλες για την αποθήκευση δεδομένων

2. Εκτός από την εφαρμογή των δικών του μεθόδων, το ModelMap κληρονομεί επίσης τις μεθόδους και τα χαρακτηριστικά του LinkedHashMap

3. Κατά την αποθήκευση δεδομένων, το ModelAndView μπορεί να ορίσει την επιστρεφόμενη λογική προβολή και να ελέγξει το άλμα του επιπέδου εμφάνισης.