1 返回ModelAndView
@RequestMapping("/queryItems")
public ModelAndView queryItems(HttpServletRequest request,
ItemsQueryVo itemsQueryVo) throws Exception
{
List<ItemsCustom> itemList = itemsService.findItemsList(itemsQueryVo);
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("itemsList", itemList);
modelAndView.setViewName("items/itemsList");
return modelAndView;
}
2 返回字符串String
@RequestMapping(value = "/editItems", method =
{ RequestMethod.POST, RequestMethod.GET })ֵ
public String editItems(
Model model,
@RequestParam(value = "id", required = true, defaultValue = "1") Integer items_id)
throws Exception
{
ItemsCustom itemsCustom = itemsService.findItemsById(items_id);
if (itemsCustom == null)
{
throw new CustomException("修改的商品信息不存在");
}
model.addAttribute("itemsCustom", itemsCustom);
return "items/editItems";
}
这样返回了一个页面。
重定向Redirect:return" redirect:editItems.action" 由于是一个url重定向到下一个url地址,执行了一个request和一个response,参数是无法带到下一个url地址中的,所以无法参数共享
转发 :return"forward:editItems.action" 转发后浏览器的地址还是原来的地址,转发并没有执行新的request和response,所以转发前的请求的参数在转发后仍然可以读到。可以实现参数共享。
3 返回的为void
用request转向页面,用response重定向
response.sendRedirect("url")
4 返回model,map等