springmvc 表现层 带数据跳页面的代码
//使用ModelAndView形参传递参数,该对象还封装了页面信息
@RequestMapping("/showPageAndData3")
public ModelAndView showPageAndData3(ModelAndView modelAndView) {
//ModelAndView mav = new ModelAndView(); 替换形参中的参数
Book book = new Book();
book.setName("SpringMVC入门案例");
book.setPrice(66.66d);
//添加数据的方式,key对value
modelAndView.addObject("book",book);
//添加数据的方式,key对value
modelAndView.addObject("name","Jockme");
//设置页面的方式,该方法最后一次执行的结果生效
modelAndView.setViewName("page");
//返回值设定成ModelAndView对象
return modelAndView;
}
modelAndView.setViewName(“page”);这里的page就等同于 return “page”;
setViewName设定视图的名称
addObject 添加 Book 对象 到 modelAndView,才能将数据传递到页面
modelAndView 这个对象是用来将数据传递到页面的
用转发与重定向 就不能在配置文件设置,前后缀的拼接。
ModelAndView 对象 中
setViewName(“forward:/WEB-INF/page/page.jsp”); 转发
setViewName(“redirect:page.jsp”); 重定向
//ModelAndView对象支持转发的手工设定,该设定不会启用前缀后缀的页面拼接格式
@RequestMapping("/showPageAndData4")
public ModelAndView showPageAndData4(ModelAndView modelAndView) {
modelAndView.setViewName("forward:/WEB-INF/page/page.jsp");
return modelAndView;
}
//ModelAndView对象支持重定向的手工设定,该设定不会启用前缀后缀的页面拼接格式
@RequestMapping("/showPageAndData5")
public ModelAndView showPageAndData6(ModelAndView modelAndView) {
modelAndView.setViewName("redirect:page.jsp");
return modelAndView;
}