springMVC中前端将传递数据传递到后端后端的接收方式

前提:springmvc可以自动将json数据转化为Java对象,而将对象转化为json数据,必须在配置文件中配置!,需要注解@responseBody,需要json

Java中,前端传递数据的方式是<from>标签<input>标签中的name属性,还有就是ajax



1、直接用map接收,键值对的形式,

这样子在方法的参数里面用一个map来接收,可以把前端所有数据以【keyname),valuevalue)】的方式封装进去,然后在后台取出来的时候,直接调用Mapget()

方法就可以把值取出来,例如:map.get("name");不过这种方法比较麻烦,取出来之后又要转类型,而且取值的过程中又需要遍历一次map,不大建议使用,虽然可以说接收任何参数



2.用一个user类来接收(from表单提交)

这种方法适合于前端页面的属性(name)属性和entityuser类)的属性一致的情况下才可以进行,否则会报错



3、如果前端的数据跟后台的entitiy的属性类型和数目不同的话,需要在前端自己      封装json数据,然后以Ajax的方式传到后台

在传输到后台的时候,端的json数据要是json字符串才行,这样子springMvc才能接收呢,后台执行方法的接收参数里面可以用一个自己写的vo接收,即value object,而且在接收参数的前面

 

 

@RequestBody应用



当时并不太了解@RequestBody,也并没有使用js提供的JSON.stringify()方法

所有都是自己写的,比如js将json转为字符串的方法,后台接收json转成实体的方法。

 

最近接触到了@RequestBody,于是想将之前的代码改写一下。

首先@RequestBody需要接的参数是一个string化的json,这里直接使用JSON.stringify(json)这个方法来转化

其次@RequestBody,从名称上来看也就是说要读取的数据在请求体里,所以要发post请求

第三,要设置contentType,contentType:"application/json,明确的告诉服务器发送的内容是json,而默认的contentType是application/x-www-form-urlencoded; charset=UTF-8

 

需要写一个@RequestBody注解



4,当接收参数的时候,用@RequestParam,并且

当不用@ RequestParam时候,必须保证和前端传递name名字相同,否则必须按照严格的格式写@RequestParam(value="path") String path1!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值