我用spring mvc做,用post方式提交,后台获取不到参数值,用get方式就可以,什么问题

我用spring mvc做,用post方式提交,后台获取不到参数值,用get方式就可以,什么问题,第1张

因为form表单的enctype编码方式不同导致的;enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。

默认地,表单数据会编码为 "application/x->

SpringMVC中处理请求参数有好几种不同的方式,如我们常见的下面几种

对上面几种方式有兴趣的可以看一下这篇博文: SpringMVC之请求参数的获取方式

除了上面的几种方式之外,还有一种 @RequestBody 的使用方式,本文则主要介绍这种传参的使用姿势和相关注意事项

借助Spring框架,使用@RequestBody并没有什么难度,很简单的就可以写一个使用case出来,如下

看上面的实现,和我们通常的写法并无差别,无非是将以前的 @RequsetParam 注解换成 @RequsetBody 注解,而且这个注解内部只有一个filed,比RequsetParam还少

看到上面的实现,估计也可以猜出,这个注解对于后端而言,写没啥问题,关键是如何用(具体来讲是如何给前端用)

上面写完了,接下来的重点就是如何使用了,在使用之前,有必要了解下 RequestBody 这个注解出现的原有以及应用场景(换句话说它和RequestParam有什么区别,为什么要单独地搞一个这个东西出来)

RequestBody

a content-type定义

在进入下一步之前,有必要说一下Content-Type这个>

使用Springboot,我们很多时候直接使用@PathVariable、@RequestParam、@Param来获取参数,但是偶尔还是要用到request和response,怎么获取呢?

也很方便,有三种方式可以获取,任选其一就行。

1、通过静态方法获取,你也可以封装一个静态方法出来

2、通过参数直接获取,只要在你的方法上加上参数,Springboot就会帮你绑定,你可以直接使用。如果你的方法有其他参数,把这两个加到后面即可。

3、注入到类,这样就不用每个方法都写了

面些例说明

使用@RequestParam绑定请求参数值

@RequestMapping(value="/method1") public String method1( @RequestParam(value="userName",required = false) String userName, @RequestParam("pwd") String pwd){ return "methodSignature"; }

@RequestParam参数三:

使用数组或者List让@RequestParam接收同名参数

public String requestparam(@RequestParam(value="role") String roleArray)

public String requestparam(@RequestParam(value="role") List roleList)

value:参数名字即入参请求参数名字username表示请求参数区名字username参数值传入;

required:否必须默认true表示请求定要相应参数否则报404错误码;

defaultValue:默认值表示请求没同名参数默认值默认值SpEL表达式逗#{systemProperties[‘javavmversion’]}

使用@CookieValue绑定请求Cookie值

@CookieValue参数@RequestParam

第二种绑定javaxservlet>

以上就是关于我用spring mvc做,用post方式提交,后台获取不到参数值,用get方式就可以,什么问题全部的内容,包括:我用spring mvc做,用post方式提交,后台获取不到参数值,用get方式就可以,什么问题、重磅来袭:Spring之RequestBody的使用姿势小结、Springboot获取request和response等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9429762.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存