前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringMVC接受请求参数

SpringMVC接受请求参数

作者头像
Tim在路上
发布2020-08-04 22:06:41
9980
发布2020-08-04 22:06:41
举报

数据传送到控制器的方法:

  • 查询参数
  • 表单参数
  • 路径变量
获取查询路径中参数@PathVariable
代码语言:javascript
复制
@RequestMapping(value="/addUser4/{username}/{password}",method=RequestMethod.GET)
public String addUser4(@PathVariable String username,@PathVariable String password) {
        System.out.println("username is:"+username);
        System.out.println("password is:"+password);
        return "demo/index";
    }

在RequestMapping中配置参数名,同时与方法的参数名相同,需要在前面加上@PathVariable注解

代码语言:javascript
复制
http://localhost:8080/WxProgram/zhang/123
用注解@RequestParam绑定请求参数到方法入参
代码语言:javascript
复制
@RequestMapping(value="/addUser6",method=RequestMethod.GET)
    public String addUser6(@RequestParam("username") String username,@RequestParam("password") String password) {
        System.out.println("username is:"+username);
        System.out.println("password is:"+password);
        return "demo/index";
    }

当请求参数username不存在时会有异常发生,可以通过设置属性required=false解决,例如: @RequestParam(value="username", required=false)

defaultValue:默认值,如果设置了该值,required 将自动设为 false,

无论你是否配置了required,配置了什么值,都是 false(可选配置)

代码语言:javascript
复制
http://localhost:8080/WxProgram?username=zhang&password=123

当然也可以不使用@RequiredParam注解,直接去掉,只有参数名和controller方法中参数名相同即可。

通过HttpServletRequest接收

post方式和get方式都可以

代码语言:javascript
复制
 @RequestMapping("/addUser2")
    public String addUser2(HttpServletRequest request) {
        String username=request.getParameter("username");
        String password=request.getParameter("password");
        System.out.println("username is:"+username);
        System.out.println("password is:"+password);
        return "demo/index";
    }
通过一个bean来接收
代码语言:javascript
复制
 @RequestMapping("/addUser3")
    public String addUser3(UserModel user) {
        System.out.println("username is:"+user.getUsername());
        System.out.println("password is:"+user.getPassword());
        return "demo/index";
    }

post方式和get方式都可以

User和要传的参数一致

也可以在前面加上@ModelAttribute注解

使用@ModelAttribute注解获取POST请求的FORM表单数据

代码语言:javascript
复制
 @RequestMapping(value="/addUser5",method=RequestMethod.POST)
    public String addUser5(@ModelAttribute("user") UserModel user) {
        System.out.println("username is:"+user.getUsername());
        System.out.println("password is:"+user.getPassword());
        return "demo/index";
    }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 获取查询路径中参数@PathVariable
  • 用注解@RequestParam绑定请求参数到方法入参
  • 通过HttpServletRequest接收
  • 通过一个bean来接收
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档