springmvc之@RequestMapping 以及Controller返回值講解
阿新 • • 發佈:2018-11-10
RequestMapping註解除了正常匹配URL對映外有幾個作用:
1、窄化請求對映
在controller類上給一個根路徑
2、請求方法限定
在使用@RequestMapping(value="路徑" method={request.GET,request.POST})
Controller方法的返回值
1、返回ModelAndView
需要方法結束時,定義ModelAndView,將Model和View分別設定。
ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("list",list); //指定檢視 modelAndView.setViewName("sucsess");
2、返回String
如果controller方法返回string,表示返回邏輯檢視名
真正檢視(jsp路徑)=字首+邏輯檢視名+字尾
@RequestMapping("/queryItems") public String queryitems(Model model)throws Exception{ //呼叫service根據商品id查詢商品資訊 //ItemsCustom itemsCustom = itemsService.findItemsByID(1); //通過形參中的model將model資料傳到頁面 //相當於ModelAndView.addObject()方法 //model.addAttribute("itemsCustom",itemsCustom); return "items/edititems"; }
2、redirect 重定向
商品修改提交後,重定向到商品查詢列表。
redirect重定向特點:瀏覽器位址列中的URL會變化。修改提交的request資料無法傳到重定向的地址。
因為重定向後重新進行request(request無法共享)
return redirect:"queryItems.actioon";
3、forward頁面轉發
通過forward進行頁面轉發,瀏覽器位址列URL不變,request可以共享。
return "forward:queryItems.action"
返回void
1、使用request轉向頁面,如下:
request.getRequestDispatcher("頁面路徑").forward(request,response);
2、也可以通過response頁面重定向
response.sendRedirect("url")
3、使用此方法可以通過修改response,設定響應的資料格式,比如響應json資料格式。
httpServletResponse.setCharacterEncoding("utf-8");
httpServletResponse.setContentType("application/json;charset=utf-8");
httpServletResponse.getWriter().write("json串");