springMVC获取请求参数

1、表单提交的数据都是key=value格式的(username=zs&password=123), SpringMVC的参数绑定过程是把表单提交的请求参数,作为控制器中方法的参数进行绑定的(要求:提交表单的name和方法的参数的名称是相同的)

示例:

<form action="">
    用户名:<input type="text" name="username"/>
    密码: <input type= "password" name="password"/>
    <input type="submit"/>
</form>

public String register(String username , String password){}

支持的数据类型

​ 基本数据类型和字符串类型

​ 实体类型(JavaBean)

​ 集合数据类型(List、map集合等)

  • 客户端提交的表单参数名称, 和Controller里方法参数名称相同

  • SpringMVC会自动绑定同名参数,并自动转换类型

 对象类型 【重点】

SpringMVC会帮我们自动把表单参数,封装成对象,但是要求:

  • 客户端提交的表单参数名称,必须和JavaBean的属性名一样!

代码:

dao层:

public class User {
    private String username;
    private String password;
    private int age;
}

前端页面:

<form action="/requestObjectParam">
    用户名:<input type="text" name="username"/><br/>
    密  码:<input type="text" name="password"/><br/>
    年  龄:<input type="text" name="age"/><br/>
    <input type="submit"/>
</form>

controller:

  @RequestMapping("/requestObjectParam")
    public String requestObjectParam(User user){}

常用注解讲解:

1、@requestParam

使用说明:

1、添加注解后,可以对浏览器请求做出要求,要求一定要有指定参数,没有就会报错

2、可以把请求提交的参数赋值给形参

代码:

  @RequestMapping("/requestParam")
    public String requestParam(@RequestParam(value="abc" , required = false , defaultValue = "张三") String username , @RequestParam String password){
        System.out.println("username = " + username);
        System.out.println("password = " + password);
        return "success";
    }

注:@RequestBody只能接受url的传参?name=xxx,form表单数据的提交,无法接受josn对象

2、 @RequestBody
            作用:
                1. 可以获取表单提交上来的请求体,只有post请求才有请求体,get请求是没有请求体【不常用】
                    拿到的是一个字符串:  username=admin&password=123456;
                2. 可以接收页面提交上来的json数据,封装到JavaBe里面【常用】
            步骤:
                1. 方法参数的前面打上注解 @RequestBody,springmvc就会把请求体赋值给方法的参数。
 axios.post("/requestBody02" , data);

 @RequestMapping("/requestBody02")
    public String requestBody02(@RequestBody User user ) {}

注意: get 请求方式不适用。

3、@pathVariable

作用:

用于截取请求地址(url)里面的某些部分的数据。这个需要配合RestFul风格来说明

以前删除用户: localhost:82/deleteUser?id=3restFul :  localhost:82/delete/3


    @RequestMapping("/delete/{id}")
    public String pathVariable(@PathVariable(value="id") int id) {}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值