SpringMVC-響應數據和結果視圖
阿新 • • 發佈:2019-04-12
spring 解析 通過 請求轉發 set 名稱 body view forward
返回值分類
1. 字符串
controller 方法返回字符串可以指定邏輯視圖名,通過視圖解析器解析為物理視圖地址。
2. void
在 controller 方法形參上可以定義 request 和 response,使用 request 或 response 指定響應結果
1、使用 request 轉向頁面
2、也可以通過 response 頁面重定向
3、也可以通過 response 指定響應結果
3. ModelAndView
ModelAndView對象是Spring提供的一個對象,可以用來調整具體的JSP視圖
- 方法
addObject(String attributeName,Object attributeValue)
${requestScope.attributeName}setView(String viewName)
設置邏輯視圖名稱,視圖解析器會根據名稱前往指定的視圖
轉發和重定向
forward 轉發
- 如果用了 formward:則路徑必須寫成實際視圖 url,不能寫邏輯視圖。
- 它相當於“request.getRequestDispatcher("url").forward(request,response)”
使用請求轉發,既可以轉發到 jsp,也可以轉發到其他的控制器方法
redirect 重定向
- 它相當於“response.sendRedirect(url)”
如果是重定向到 jsp 頁面,則 jsp 頁面不能寫在 WEB-INF 目錄中,否則無法找到
ResponseBody 響應 JSON 數據
- 該註解用於將 Controller 的方法返回的對象,通過 HttpMessageConverter 接口轉換為指定格式的數據如:json,xml 等,通過 Response 響應給客戶端
- Springmvc 默認用 MappingJacksonHttpMessageConverter 對 json 數據進行轉換,需要加入jackson 的包(3個)
- POJO對象和JSON數據互相轉換
SpringMVC-響應數據和結果視圖