方法参数中使用request,通过request.getParameter("参数名"),再封装到bean中
@RequestMapping("/test01") publicModelAndViewtest01(HttpServletRequestrequest){ Stringusername=request.getParameter("username"); Stringpassword=request.getParameter("password"); System.out.println(username); System.out.println(password); returnnull; }如果请求参数和Controller方法的形参同名,可以直接接收
如果请求参数和Controller方法的形参不同名,可以使用@RequestParam注解贴在形参前,设置对应的参数名称
@RequestMapping("/test02_1") publicModelAndViewtest02_1(Stringusername,Stringpassword){ System.out.println(username); System.out.println(password); returnnull; } @RequestMapping("/test02_2") publicModelAndViewtest02_2(@RequestParam("username")Stringname,@RequestParam(value="password",defaultValue="1234987")Stringpwd){ //使用了@RequestParam的参数不能传空值 //required:表示是否必须要传值 //defaultValue:当没有该请求参数时,SpringMVC给请求参数的默认值 System.out.println(name); System.out.println(pwd); returnnull; }此时能够自动把参数封装到形参的对象上
注意:1、请求参数必须和对象的属性同名
2、此时对象会直接放入request作用域中,名称为类型首字母小写
3、@ModelAttribute设置请求参数绑定到对象中并传到视图页面,设置key值
@RequestMapping("/test03") publicModelAndViewtest03(@ModelAttribute("stu")Studentstudent){ /*可以使用对象作为方法的形参,同时接受接受前台的多个请求参数 SpringMVC会基于同名匹配,将请求参数的值注入对应的对象中的属性中 @ModelAttribute起名字key值*/ System.out.println(student); ModelAndViewmv=newModelAndView(); mv.setViewName("test2"); returnmv; }当前台页面传来的参数是参数名相同,参数值不同的多个参数时,可以直接封装到方法的数组类型的形参中,也可以直接封装到对象的集合属性中。
比如批量删除时传来的参数。
RequestMapping("/test04") publicModelAndViewtest04(Stringid[]){ /*对于参数名相同的多个请求参数,可以直接使用数组作为方法的形参接收 可以使用对象中的集合属性接收*/ for(Stringi:id){ System.out.println(i); } returnnull; } @RequestMapping("/test05") publicModelAndViewtest05(Studentstudent){ System.out.println(student.getId().size()); for(Stringi:student.getId()){ System.out.println(i); } returnnull; }Restful是一种软件架构风格,严格上说是一种编码风格,其充分利用HTTP协议本身语义从而提供了一组设计原则和约束条件。
主要用于客户端和服务器交互类的软件,该风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。在后台,RequestMapping标签后,可以用{参数名}方式传参,同时需要在形参前加注解@PathVarible,假如前台的请求地址为localhost:8080/delete/3
@RequestMapping("/delete/{id}") publicModelAndViewtest4(@PathVariable("id")Longid){ System.out.println("delete"); System.out.println(id); returnnull; }本文内容总结:1、传统传参方式,2、简单类型参数和RequestParam注解,3、对象传参,4、数组和List集合类型参数,5、使用Restful,
原文链接:https://www.cnblogs.com/xfdhh/p/11517534.html