Teknologian jakaminen

SpringMVC:n aloittelijat saavat pyyntöparametrit ja datakaiun

2024-07-12

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

Pom.xml-tiedosto tuo lombok-riippuvuudet

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

@Controller tarkoittaa, että tämä on ohjain

@RequestParam tarkoittaa vastaanottamista käyttöliittymästä

Yleensä mallia käytetään siirtämään palautetut tulokset käyttöliittymään.

  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 Parametrinen konstruktori

@NoArgsConstructor argumentoimaton konstruktori

(Sinun on tuotava lombokin purkkipaketti ennen kuin voit viitata siihen)

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

Vastaanota käyttöliittymän käyttäjän välittämät parametrit ja määritä parametrin nimi. Olettaen, että nimi on menetelmässä, sitä voidaan käyttää suoraan.

Välitettyjen parametrien on oltava yhdenmukaisia ​​objektin vastaanottamien parametrikenttien kanssa

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

Kirjoita osoitepalkkiin esimerkiksi http:localhost:8080/user/test2?name=hh&age=18.

(Sinun on asetettava parametrit luomasi luokan mukaan. Jos edellä on käytetty User-luokkaa, käytä User-luokan muuttujia)

Lähtö on:

Tietojen näyttäminen käyttöliittymässä:

1. MalliAndView

Luo ensin uusi ModelAndView()

Kapseloi sitten tiedot addObjectin kautta

Lopuksi setViewName asettaa palautetun näkymän nimen.

2. Malli

Käytä mallin käyttöliittymää menetelmäsulkeissa

Kapseloi tiedot addAttributen kautta

Lopuksi palaa näkymään

3. ModelMap

Paina ctrl + h nähdäksesi puu

ModelMap perii LinkedHashMapin ja sillä on kaikki sen toiminnot

Käyttö on samanlaista kuin mallissa

Kolmen vertailu:

1. Mallissa on vain muutama datan tallentamiseen soveltuva menetelmä

2. Omien menetelmiensä toteuttamisen lisäksi ModelMap perii myös LinkedHashMapin menetelmät ja ominaisuudet

3. Datan tallennuksen aikana ModelAndView voi asettaa palautetun loogisen näkymän ja ohjata näyttökerroksen hyppyä.