返回ModelAndView
方法体内需要定义ModelAndView,对Model和view分别进行设置
@RequestMapping(value=
"editItems.action",method={RequestMethod.GET,RequestMethod.POST})
public ModelAndView
editItems()
throws Exception{
ItemsCustomer itemsCustomer = itemsService.findItemsCustomerById(
1);
ModelAndView modelAndView =
new ModelAndView();
modelAndView.addObject(
"itemsCustomer", itemsCustomer);
modelAndView.setViewName(
"/items/editItems");
return modelAndView;
}
返回String
case one
此时String表示的是逻辑视图名,而数据则通过形参中的model传送到页面
@RequestMapping(value=
"editItems.action",method={RequestMethod.GET,RequestMethod.POST})
public String
editItems(Model model)
throws Exception{
ItemsCustomer itemsCustomer = itemsService.findItemsCustomerById(
1);
model.addAttribute(
"itemsCustomer", itemsCustomer);
return "/items/editItems";
}
什么是逻辑视图名:真正视图(jsp路径)=前缀+逻辑视图名+后缀
case two
redirect重定向 重定向特点:浏览器地址发生变化,修改提交的request数据无法重新出传递到重定向的地址,因为request无法共享
@RequestMapping(
"editItemsSubmit.action")
public String
editItemsSubmit()
throws Exception{
return "redirect:findItemsList.action";
}
case three
forward 转发 forward特点:浏览器地址不变,request可以共享
@RequestMapping(
"editItemsSubmit.action")
public String
editItemsSubmit(HttpServletRequest request)
throws Exception{
return "forward:findItemsList.action";
}
测试request共享
@RequestMapping(
"/findItemsList.action")
public ModelAndView
findItemsList(HttpServletRequest request)
throws Exception{
String id = request.getParameter(
"id");
System.out.println(id+
"==============");
List<ItemsCustomer> itemsList = itemsService.findItemsList(
null);
ModelAndView modelAndView =
new ModelAndView();
modelAndView.addObject(
"itemsList", itemsList);
modelAndView.setViewName(
"/items/itemsList");
return modelAndView;
}
返回void