JAVA后台Controller/servlet如何获取到从前端传来的参数

JAVA后台Controller/servlet如何获取到从前端传来的参数

前言:

本次内容是对后台如何获取到前端传来的信息的总结;

1.前端传来数据的格式为form表单形式:
1.1 reqeust.getParam(“name”):

最原始的方式:request.getParam("name")其中name为前端form表单传来的数据的name的值来获取对应的值(其实传来的是类似键值对);
如:
前端可以通过form中的action:
在这里插入图片描述
或者js/jQuery里面的location:

在这里插入图片描述
或是a超链接里面的地址:
在这里插入图片描述

还是ajax(默认发送数据的方式ContentType 为form表单形式):
在这里插入图片描述
后台就可以通过reqeust.getParam("name”),
request.getParamValues();如果参数出现多次,则可以使用此方法;如复选框;
request.getParamNames();如果你想要得到当前请求中的所有参数的完整列表,则可调用此方法;
来获取值;

1.2.通过封装成对象

原始的为,在接收到参数后封装为对象,或者直接建立一个前端表格形式的pojo实体类,然后通过BeanUtils.populate(实体类,req.getParameterMap())来封装对象;
    而在SpringMVC,SSM中可以直接写成实体对象参数(只需要请求参数和实体的属性同名即可);
java代码:
在这里插入图片描述
html代码:
在这里插入图片描述
其中前端传来的数据被封装到了实体类中;一一对应,没有的为null值,多了就要另外外接收;
而在SSM中还有下面其他几种方式来获取到请求参数:

1.3. 通过路径参数:

http://localhost:8080/资源地址/12313/123123 前端传来的数据为这种形式的话,就需要使用路径参数的形式:
java代码:

@RequestMapping("/hello/{id}")
// @PathVariable将{id}路径匹配到值赋给id参数
// 路径名和参数名相同则@PathVariable("id")可简写为 @PathVariable
public String testParam5(@PathVariable("id") Integer id){
    System.out.println("id:"+id);            
    return "index";
}

// http://localhost:8989/.../hello/tom   {username}匹配到tom
@RequestMapping("/hello/{username}")
public String testParam6(@PathVariable("username") String name){//将{username}路径匹配到的值赋给name参数
    System.out.println("username:"+name);
    return "index";
}
1.4. 通过多个参数值(可以有数组,基本类型,集合类型德,。。。)

java代码:
在这里插入图片描述
html代码:
在这里插入图片描述

1.3. 其他
   当然其他的还有,如SSM中新加的Module,ModuleAndView,等,其实原理也是使用的request;
2.前端传来数据的格式为json:
2.1. 原始的
2.1. SSM/SpringMVC中:

可以通过@requestBody注解来接收前端传来的json数据;
java代码:
在这里插入图片描述

html代码:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值