springmvc Controller方法返回值
阿新 • • 發佈:2017-05-31
response ping resp log mod for iter 頁面 轉發
1.1返回ModelAndView 不建議使用
1.2返回String 建議使用
@RequestMapping("updateItem") public String updateItemById(Item item) { // 更新商品 this.itemService.updateItemById(item); // 修改商品成功後,重定向到商品編輯頁面 // 重定向後瀏覽器地址欄變更為重定向的地址, // 重定向相當於執行了新的request和response,所以之前的請求參數都會丟失 // 如果要指定請求參數,需要在重定向的url後面添加 ?itemId=1 這樣的請求參數return"redirect:/itemEdit.action?itemId=" + item.getId(); }
@RequestMapping("updateItem") public String updateItemById(Item item) { // 更新商品 this.itemService.updateItemById(item); // 修改商品成功後,重定向到商品編輯頁面 // 重定向後瀏覽器地址欄變更為重定向的地址, // 重定向相當於執行了新的request和response,所以之前的請求參數都會丟失 // 如果要指定請求參數,需要在重定向的url後面添加 ?itemId=1 這樣的請求參數// return "redirect:/itemEdit.action?itemId=" + item.getId(); // 修改商品成功後,繼續執行另一個方法 // 使用轉發的方式實現。轉發後瀏覽器地址欄還是原來的請求地址, // 轉發並沒有執行新的request和response,所以之前的請求參數都存在 return"forward:/itemEdit.action"; }
1.3. 返回void 一般是ajax異步請求返回json數據時候使用
在Controller方法形參上可以定義request和response,使用request或response指定響應結果:
1、使用request轉發頁面,如下: 不常用,
request.getRequestDispatcher("頁面路徑").forward(request, response);
request.getRequestDispatcher("/WEB-INF/jsp/success.jsp").forward(request, response);
2、可以通過response頁面重定向: 不常用,
response.sendRedirect("url")
response.sendRedirect("/springmvc-web2/itemEdit.action");
3、可以通過response指定響應結果,例如響應json數據如下:
response.getWriter().print("{\"abc\":123}"); /// 手動拼接成json串返回
springmvc Controller方法返回值