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串");

 

 

以上三種返回值沒有什麼重要和不重要的分別,通常來講都會使用到, 只不過有的時候使用的方式會有一些細微的差異

相關文章
相關標籤/搜索