芯が強い人になるESTJ-A

# springmvc接受前端传递的参数方法

IT開発 Tags: 无标签 阅读: 200

截屏2022-04-19 21.00.15.jpg

测试1:获取表单中的姓名

前端部分:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>form</title>
</head>
<body>
<form action="/e/t" method="post">
    <input type="text" name="name">
    <input type="submit">
</form>
</body>
</html>



###后端部分
@Controller
public class EncodingController {
    @RequestMapping("/e/t")
    public String test(Model model, String name){
        System.out.println(name);
        model.addAttribute("msg",name); //获取表单提交的值
        return "test"; //跳转到test页面显示输入的值
    }
}


获取一个对象信息


后端
@Controller
@RequestMapping("/user")
public class UserController {
   //前端接收参数
    @GetMapping("/t1")
    public String test1(@RequestParam("name") String name, Model model){
        //1接收前端参数
        System.out.println("接收到的前端传来的参数是:"+name);

        //2将返回的结果传递给前端Model
        model.addAttribute("msg",name);

        //3跳转视图,跳转去web/WEB_INF/jsp/?
        return "test";
    }

    //前端接接收一个对象
    // user->id,name ,age
    //方法一:笨办法,写全部的参数;方法二:写user对象,封装成一个对象
    /*
    * 1接收前端用户传递的参数,判断参数的名字,假设名字直接在方法上,可以直接使用
    * 2假设传递的是一个对象,例如User,匹配User对象中的字段,User对象在POJO包中,如果名字一致则OK;
    *
    * */
    @GetMapping("/t2")
    public String test2(User user){
        //1接收前端参数
        System.out.println("前端接收的参数"+user);

        //2将返回的结果传递给前端Model
        model.addAttribute("msg","前端接收的参数"+user);

        //3跳转视图,跳转去web/WEB_INF/jsp/?
        return "test";
    }

    //数据回复显示到前端,3个方法,方法1:ModelAndView,方法二:Model(推荐,常用),方法三:ModelMap
    @GetMapping("/t3")
    public String test3(){
        //1接收前端参数


        //2将返回的结果传递给前端Model


        //3跳转视图,跳转去web/WEB_INF/jsp/?
        return "test";
    }
}


###实体类

@Data @AllArgsConstructor @NoArgsConstructor
public class User {
    private int id;
    private String name;
    private int age;
}