1. 程式人生 > >springmvc Controller方法返回值

springmvc Controller方法返回值

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方法返回值