1.SpringMVC接收请求参数及数据回显:前端url地址栏传递参数通过转发显示在网页

1、SpringMVC 处理前端提交的数据

1.1 提交的域名和处理方法的参数不一致,使用注解解决

1.SpringMVC接收请求参数及数据回显:前端url地址栏传递参数通过转发显示在网页_第1张图片

1.2 提交的域名和处理方法的参数不一致,使用注解解决

1.SpringMVC接收请求参数及数据回显:前端url地址栏传递参数通过转发显示在网页_第2张图片

 1.3 提交的是一个对象

1.SpringMVC接收请求参数及数据回显:前端url地址栏传递参数通过转发显示在网页_第3张图片

 1.SpringMVC接收请求参数及数据回显:前端url地址栏传递参数通过转发显示在网页_第4张图片

2、前端url地址栏传递的是一个参数

请求地址url:http://localhost:8080/springmvc_04_controller_war_exploded/user/t1?name=lan

package com.lan.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
@RequestMapping("/user")
public class UserController {
    @GetMapping("/t1")
    //@RequestParam("name"):推荐加上这个注解表示要从前端接收而且能约定跟前端去配对,请求的参数名字是name
    public String test1(@RequestParam("name") String name, Model model){
        //1.接收前端参数,不用在req.getParameter()来接收了,可以直接接收
        System.out.println("接收的参数为"+name);
        //2.将返回的结果传递给前端
        model.addAttribute("msg",name);
        //3.视图跳转
        return "test";
    }

}

3、前端url地址栏传递的是一个对象

package com.lan.controller;

import com.lan.pojo.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
@RequestMapping("/user")
public class UserController {
    @GetMapping("/t1")
    //@RequestParam("name"):推荐加上这个注解表示要从前端接收而且能约定跟前端去配对,请求的参数名字是name
    public String test1(@RequestParam("name") String name, Model model){
        //1.接收前端参数,不用在req.getParameter()来接收了,可以直接接收
        System.out.println("接收的参数为"+name);
        //2.将返回的结果传递给前端
        model.addAttribute("msg",name);
        //3.视图跳转
        return "test";
    }


    //前端接收的是一个对象
    //传递的是一个对象User,匹配User对象做的字段名,如果名字一致则ok,否则匹配不到(url地址栏传递的参数要和实体类字段名一致才ok)
    //http://localhost:8080/springmvc_04_controller_war_exploded/user/t2?id=10&name=lan&age=20
    //idea中输出的结果:User(id=10, name=lan, age=20)
    @GetMapping("/t2")
    public String test2(User user){
        System.out.println(user);
        return "test";
    }

}

User实体类

package com.lan.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

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

你可能感兴趣的:(Spring,SpringMVC框架学习,后端,spring)