springboot请求参数的方法分享

打印 上一主题 下一主题

主题 895|帖子 895|积分 2685

转自:
http://www.java265.com/JavaFramework/SpringBoot/202206/3779.html
下文笔者讲述SpringBoot请求URL参数的方法分享,如下所示
  1. URL请求参数:
  2.      是web客户端同服务器交流数据的一种方式
  3.          那么SpringBoot中如何从url中获取指定的参数值呢?
  4.          下文将一一道来,如下所示:
复制代码
方式1:直接将参数写在Controller的形参中

例:
  1.     @RequestMapping("/addUser1")
  2.     public String addUser1(String username,String password) {
  3.         System.out.println("用户名:"+username);
  4.         System.out.println("密码:"+password);
  5.         return "index";
  6.     }
  7. http://localhost:8080/addUser1?username=chengcheng&password=87654321
复制代码
方式2:使用HttpServletRequest的方式接收
  1.     @RequestMapping("/addUser2")
  2.     public String addUser2(HttpServletRequest request) {
  3.         String username=request.getParameter("username");
  4.         String password=request.getParameter("password");
  5.         System.out.println("用户名:"+username);
  6.         System.out.println("密码:"+password);
  7.         return "index";
  8.     }
复制代码
方式3:使用bean对象接收参数
  1. package demo.model;
  2. public class UserModel {
  3.    
  4.     private String username;
  5.     private String password;
  6.     public String getUsername() {
  7.         return username;
  8.     }
  9.     public void setUsername(String username) {
  10.         this.username = username;
  11.     }
  12.     public String getPassword() {
  13.         return password;
  14.     }
  15.     public void setPassword(String password) {
  16.         this.password = password;
  17.     }
  18.    
  19. }
  20.     @RequestMapping("/addUser3")
  21.     public String addUser3(UserModel user) {
  22.         System.out.println("用户名:"+user.getUsername());
  23.         System.out.println("密码:"+user.getPassword());
  24.         return "index";
  25.     }
复制代码
方式4:使用@PathVariable获取路径中的参数
  1. @RequestMapping(value="/addUser4/{username}/{password}",method=RequestMethod.GET)
  2. public String addUser4(@PathVariable String username,@PathVariable String password) {
  3.         System.out.println("用户名:"+username);
  4.         System.out.println("密码:"+password);
  5.         return "index";
  6.     }
  7. http://localhost:8080/addUser4/usernametest/pwd88888
复制代码
方式5:使用@ModelAttribute注解获取POST请求的FORM表单数据
  1. Jsp表单:
  2. <form action ="<%=request.getContextPath()%>/demo/addUser5" method="post">
  3.      用户名: <input type="text" name="username"/><br/>
  4.      密  码: <input type="password" name="password"/><br/>
  5.      <input type="submit" value="提交"/>
  6.      <input type="reset" value="重置"/>
  7. </form>
  8.     @RequestMapping(value="/addUser5",method=RequestMethod.POST)
  9.     public String addUser5(@ModelAttribute("user") UserModel user) {
  10.         System.out.println("username is:"+user.getUsername());
  11.         System.out.println("password is:"+user.getPassword());
  12.         return "demo/index";
  13.     }
复制代码
方式6:使用注解@RequestParam绑定请求参数到方法入参
  1. 当请求参数username不存在时会有异常发生
  2. 可以通过设置属性required=false解决
  3.   例
  4.    @RequestParam(value="username", required=false)
  5.   @RequestMapping(value="/addUser6",method=RequestMethod.GET)
  6.     public String addUser6(@RequestParam("username") String username,@RequestParam("password") String password) {
  7.         System.out.println("用户名:"+username);
  8.         System.out.println("密码:"+password);
  9.         return "demo/index";
  10.     }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大号在练葵花宝典

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表