首页 > 其他分享 >SpringMVC:如何获取到请求携带的参数?

SpringMVC:如何获取到请求携带的参数?

时间:2023-03-03 16:44:13浏览次数:54  
标签:请求 获取 SpringMVC 携带 age 参数 public name

使用springMVC进行获取请求参数,很便捷。

 

 


一、获取基本数据类型参数

  自动匹配请求中name与响应方法中参数的属性名一致的参数,自动完成类型转换和赋值。

例子:

  接受对login的请求,获取到请求携带的参数。

@Controller
public class LoginController {
    @RequestMapping("login")
    public void demo(String name,int age){
        //获取的请求数据中名为name和age的值,并且自动转换类型
        System.out.println("获取到了参数"+name+age);
    }
}

请求:

  

 响应:

  

 (一)、请求中name与响应方法中参数的属性名不一致时

  通过RequestPraam注解的 value属性 进行映射。

例子:

  设置name为usname的映射参数为name,设置name为usage的映射参数为age

@Controller
public class LoginController {
    @RequestMapping("login")
    public void demo(@RequestParam("usname") String name,@RequestParam("usage") int age){
        System.out.println("获取到了参数"+name+age);
    }
}

请求:

响应:

 (二)、请求中没有传参数过来,设置默认值

  如果是基本数据类型,则会报错。如果是包装类,则会赋值为null。

  通过RequestPraam注解的 defaultValue属性 设置默认值。

例子:

  给name设置默认值redPig,给age设置默认值3。

@Controller
public class LoginController {
    @RequestMapping("login")//配置方法映射的逻辑名
    public void demo(@RequestParam(defaultValue = "redPig") String name,@RequestParam(defaultValue = "3") int age){
        System.out.println("获取到了参数"+name+age);
    }
}

请求:

 响应:

 (三)、避免包装类获取到null值

  场景:我需要浏览器提供name的值作为sql查询条件,此时浏览器不传的话会默认拿到null。

  通过RequestPraam注解的 required属性 设置为true,即必须传参。

例子:

@Controller
public class LoginController {
    @RequestMapping("login")//配置方法映射的逻辑名
    public void demo(@RequestParam(required = true)String name){
        System.out.println("获取到了参数:name-"+name);
    }
}

请求:

响应:

(四)、同名参数存入集合中

  场景:多选框提交了多个同名参数。

  通过RequestPraam注解的 value属性 解决。

例子:

public class LoginController {
    @RequestMapping("login")//配置方法映射的逻辑名
    public void demo(@RequestParam("favs") List<String> list){
        System.out.println("获取到了同名参数内容:"+list);
    }
}

请求:

 

响应:


二、获取参数放入到对象中

  如果参数的name值和对象的属性值一致,则会通过属性的get/set方法进行自动注入。

pojo对象User:

例子:

  把参数自动注入到对象中。

@Controller
public class LoginController {
    @RequestMapping("login")
    public void demo(User user){
        System.out.println("参数自动注入到对象中了:"+user);
    }
}

请求:

响应:

 


三、restful风格传参数

  把参数以 / 分割放在请求后面。

  使用RequestMapping注解配置请求方法和携带的参数,使用PathVariable注解配置参数获取来源。

例子:

@Controller
public class LoginController {
    @RequestMapping("login/{uage}/{name}")
    public void demo(@PathVariable String name,@PathVariable("uage") int age){//可以自定义映射名(没必要)
        System.out.println("restful风格获取参数:"+name+":"+age);
    }
}

请求:

 

响应:

 

注意:

  使用restful风格会导致访问目录出现差错,所以在跳转的时候不要使用相对路径。

 

标签:请求,获取,SpringMVC,携带,age,参数,public,name
From: https://www.cnblogs.com/lurenjia-bky/p/17175984.html

相关文章

  • 最全的uniapp脚手架开发,集成eslint,ui库,request请求,ts,支持vue2, vue3
    期望你的收获前端工程化中脚手架的整体设计和结构能够自己独立为企业定制一套前端脚手架背景开发新项目遇到的问题开发时间短要求技术栈完整辅助功能完善针......
  • SpringMVC_核心组件
    基础的四个组件。  一、DisapatcherServlet前端控制器,接受所有的请求。(配置为/则为所有不包括jsp的请求。/*则为所有请求)配置:在web.xml中配置一个前端控......
  • SpringMVC_编码过滤器
    通过过滤器统一请求与响应的编码格式:<!--字符编码过滤器--><filter><filter-name>encoding</filter-name><filter-class>org.springframewor......
  • 6.封装axios定义ajax请求函数模块与优化统一处理异常
    安装axios包:【版本:1.3.3】npminstallaxios初级版本api/ajax.js文件内容/*能发送异步ajax请求的函数模块封装axios库函数的返回值是promise对象:.......
  • springMVC全注解开发
    消除springmvc.xml创建配置类@Configuration@ComponentScan({"com.java.service","com.java.web.controller"})@EnableWebMvc//<mvc:annotation-driven/><mvc:defaul......
  • Groovy-正则捕获,Http请求和写入文件
    示例:<!--FontAwesome--><linkhref="static/font-awesome/4.7.0/css/font-awesome.min.css"rel="stylesheet"><!--Ionicons--><linkhref="stat......
  • BIP 两个请求成功后,才能做某一件事
    //保存前校验letSetXStatus=0;viewModel.on("beforeSave",function(args){let_this=this;console.log(_this);......
  • SpringMVC学习之基础篇
    浏览器地址栏请求:http:localhost:8080/springmvc_hello/hello?username=kkweb.xml:<?xmlversion="1.0"encoding="UTF-8"?><web-appxmlns:xsi="http://www.w3.org/2001/......
  • springMVC快速入门
    创建控制层继承org.springframework.web.servlet.mvc.ControllerpublicclassMyControllerimplementsController{@OverridepublicModelAndViewhandleReq......
  • curl curl请求
    $params=["a"=>"test","b"=>"测试"];$header=["Content-Type:application/json;charset=utf-8","host:www.baidu.com"];$url="https://www.baidu.com/......