SpringMVC中Controller的返回值类型

Controller方法的返回值能够有如下几种:json

一、返回ModelAndViewapp

返回ModelAndView时最多见的一种返回结果。须要在方法结束的时候定义一个ModelAndView对象,并对Model和View分别进行设置。spa

二、返回String对象

1):字符串表明逻辑视图名utf-8

真实的访问路径=“前缀”+逻辑视图名+“后缀”字符串

注意:若是返回的String表明逻辑视图名的话,那么Model的返回方式以下:get

   public String testController(Model model){
model.addAttribute(attrName,attrValue);//至关于ModelAndView的addObject方法
return "逻辑视图名";
   }servlet

2):表明redirect重定向it

redirect的特色和servlet同样,使用redirect进行重定向那么地址栏中的URL会发生变化,同时不会携带上一次的requestio

案例:

public String testController(Model model){
return "redirect:path";//path表明重定向的地址
}

3):表明forward转发

经过forward进行转发,地址栏中的URL不会发生改变,同时会将上一次的request携带到写一次请求中去

案例:
public String testController(Model model){
return "forward:path";//path表明转发的地址
}

三、返回void

返回这种结果的时候能够在Controller方法的形参中定义HTTPServletRequest和HTTPServletResponse对象进行请求的接收和响应

1)使用request转发页面
  request.getRequestDispatcher("转发路径").forward(request,response);

2)使用response进行页面重定向
  response.sendRedirect("重定向路径");

3)也可使用response指定响应结果
  response.setCharacterEncoding("UTF-8");
  response.setContentType("application/json;charset=utf-8");
  response.getWriter.write("json串");

 

 

以上三种返回值没有什么重要和不重要的分别,通常来讲都会使用到, 只不过有的时候使用的方式会有一些细微的差异

相关文章
相关标签/搜索