学习笔记-Spring MVC接收前端入参数据的方式
Spring MVC开发中,接收前端参数并解析参数是非常重要的,我总结了如下接收参数的方式:
方式一:
普通方式接收
1 @RequestMapping("/index") 2 public String getUserName(String username) { 3 System.out.println("username is:"+username); 4 return "index"; 5 }
参数写在Controller的方法的形参中,适用于get, post方式提交。参数名必须和前台的一致。
方式二:
接收HttpServletRequest
1 @RequestMapping("/index") 2 @ResponseBody 3 public String getUserName(HttpServletRequest request) { 4 String username = request.getParameter("username"); 5 return username; 6 }
可以通过getParameter()获取POST/GET传递的参数值;它用于客户端重定向时,即点击了链接或提交按扭时传值用,即用于在用表单或url重定向传值时接收数据。getParameter只是应用服务器在分析你送上来的request页面的文本时,取得你设在表单或url重定向时的值。
方式三:
通过@RequestParam注解
1 @RequestMapping(value="/index") 2 public String getUserName(@RequestParam(value="name",required=false)String username, Model model){ 3 System.out.println(username); 4 model.addAttribute("hello", "这是用action传过来的值:"+ username); 5 return "index"; 6 }
方式四:
通过bean来接收json
1 @RequestMapping("/index") 2 public @ResponseBody User getUserName(@RequestBody User u) { 3 System.out.pringln("name: " + u.getName()); 4 5 User user = new User(); 6 user.setName(request.getParameter("name")); 7 8 return user; 9 }