SpringMVC前后台传值方法一

前台传后台

 

第一种:直接从HttpServletRequest中获取

第二种:通过参数获取

              要求前台请求参数名称和后台函数形参名称一样

第三种:通过对象获取

              要求前台请求参数名称和后台对象的属性名一样

第四种:通过@RequestParam获取

              形式如:@RequestParam(value="username") String userName

 

以上的4种方式实质上都是一样的。GET和POST请求传的参数会自动转换赋值到@RequestParam 所注解的变量上。@RequestParam用来处理Content-Type=application/x-www-form-urlencoded编码的内容,提交方式为get或post,其实质是将Request.getParameter() 中的Key-Value参数Map利用Spring的转化机制ConversionService配置,转化成参数接收对象或字段。

 

第五种:通过@RequestBody注解获取

              主要用来接收前端传递给后端的json数据(后台函数形参可以String,也可以是类);GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。@RequestBody一般用来处理非Content-Type: application/x-www-form-urlencoded编码格式的数据。

第六种:获取上传的文件

形式如:

            public void uploadExcel(@RequestParam("file") MultipartFile file, @RequestParam("id") String id){...}

 

当前台界面使用GET或POST方式提交数据时,数据编码格式由请求头的ContentType指定。分为以下几种情况:
1.application/x-www-form-urlencoded,这种情况的数据@RequestParam、@ModelAttribute可以处理,@RequestBody也可以处理。

2. multipart/form-data,@RequestBody不能处理这种格式的数据。(form表单里面有文件上传时,必须要指定enctype属性值为multipart/form-data,意思是以二进制流的形式传输文件)

3. application/json、application/xml等格式的数据,必须使用@RequestBody来处理。

 

参考文章:

https://www.cnblogs.com/wryd952532573/p/7509428.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值