當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
SpringMVC的Controller方法返回值
生活随笔
收集整理的這篇文章主要介紹了
SpringMVC的Controller方法返回值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、返回ModelAndView
controller方法中定義ModelAndView對象并返回,對象中可以添加model數據、指定的view。
public ModelAndView queryItemList() {// 創建頁面需要顯示的商品數據List<Item> list = new ArrayList<>();list.add(new Item(1, 2399, new Date());// 創建ModelAndView,用來存放數據和視圖ModelAndView modelAndView = new ModelAndView();// 設置數據到模型中modelAndView.addObject("itemList", list);// 設置視圖jsp,需要設置視圖的物理地址// modelAndView.setViewName("/WEB-INF/jsp/itemList.jsp");// 配置好視圖解析器前綴和后綴,這里只需要設置邏輯視圖就可以了。// 視圖解析器根據前綴+邏輯視圖名+后綴拼接出來物理路徑modelAndView.setViewName("itemList");return modelAndView; }二、返回void
在controller方法形參上可以定義request和response,使用request或者response
指定響應結果:
1.使用request轉發頁面
request.getRequestDispatcher("頁面路徑").forward(request,response);頁面路徑舉例:"/WEB-INF/jsp/success.jsp"
2.使用response頁面重定向
response.senRedirect("轉發路徑")3.通過response指定響應結果,比如響應json數據
response,getWriter().print("{\"a\":1}");三、返回字符串
1.返回邏輯視圖名
controller方法返回字符串可以制定邏輯視圖名,通過視圖解析器解析為物理視圖地址。
return "itemList";實際返回經過解析后的:/WEB-INF/jsp/itemList.jsp
2.Redirect重定向
Controller方法返回字符串可以重定向到一個url地址
@RequestMapping("updateItem") public String updateItemById(Item item) {// 更新商品this.itemService.updateItemById(item);// 修改商品成功后,重定向到商品編輯頁面// 重定向后瀏覽器地址欄變更為重定向的地址,// 重定向相當于執行了新的request和response,所以之前的請求參數都會丟失// 如果要指定請求參數,需要在重定向的url后面添加 ?itemId=1 這樣的請求參數return "redirect:/itemEdit.action?itemId=" + item.getId(); }3.forword轉發
Controller方法執行后繼續執行另一個Conreoller方法。
@RequestMapping("updateItem") public String updateItemById(Item item) {// 更新商品this.itemService.updateItemById(item);// 修改商品成功后,繼續執行另一個方法// 使用轉發的方式實現。轉發后瀏覽器地址欄還是原來的請求地址,// 轉發并沒有執行新的request和response,所以之前的請求參數都存在return "forward:/itemEdit.action";}
結果轉發到editItem.action,request可以帶過去
?
總結
以上是生活随笔為你收集整理的SpringMVC的Controller方法返回值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: @RequestMapping对请求方法
- 下一篇: Eclipse配置外部Tomcat