请求传参的方式有六种常用的有RequestParam注解和对象传参:
情况一:最传统的方式,方法参数中带入request,通过request.getParameter("参数名"),再封装到JavaBean中.
情况二:简单类型参数和RequestParam注解.
一:如果请求参数和Controller方法的形参同名. 可以直接接收.
二:如果请求参数和Controller方法的形参不同名. 使用@RequestParam注解贴在形参前,设置对应的请求参数名称.
情况三:对象传参,能够自动把请求参数封装到声明在形参上的对象中,此时请求参数必须和对象的属性同名.
注意:此时,SpringMVC会将对象参数直接放入request的作用域中,名称为类型首字母小写
情况四:数组和List集合类型参数.
接收数组类型参数: 不能直接获取,只能通过对象封装List集合.
情况五:把表单中的数据封装到多个对象中去.(略).
情况六:RESTful是一种软件架构风格,严格上说是一种编码风格,其充分利用 HTTP 协议本身语义从而提供了一组设计原则和约束条件。
主要用于客户端和服务器交互类的软件,该风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
在后台,RequestMapping标签后,可以用{参数名}方式传参,同时需要在形参前加注解@PathVarible,前台的请求地址为localhost:8080/delete/1111
@RequestMapping("/delete/{id}")
public ModelAndView value4(@PathVariable("id")Long id){
System.out.println("delete");
System.out.println(id);
return null;
响应传值方式共有四种方式常用的有返回ModelAndView类型和String 类型:
情况一:Controller方法的返回值类型为void: 此时就是把Controller当做Servlet来用.
在Controller方法形参上可以定义request和response,使用request或response指定响应结果:
①:使用request请求转发页面:
request.getRequestDispatcher("页面路径").forward(request, response);
②:通过response重定向页面:
response.sendRedirect("url")
③:通过response指定响应结果,例如响应json数据如下:
通过request.setAttribute("key","value")共享数据.
情况二:返回ModelAndView类型和共享数据
Controller方法中定义ModelAndView对象并返回,对象中设置model数据、指定view。
情况三:返回String类型和共享数据
使用参数中的model对象共享数据:
情况四:返回对象类型和共享数据分为两种方式:
1>浏览器请求某个方法是,会跳转到该方法指定的页面,并将该方法中的对象共享到到前台,共享的对象的默认key值为 :简单类名 首字母小写
2>
在共享数据的方法上贴@ModelAttribute注解,修改共享对象的key值.另外, 返回对象类型的方法通常用于返回JSON字符串时.