SpringMvc返回数据有以下这几种方式:
1.采用HttpServletRequest:
request.setAttribute("s", "这是通过request返回页面的数据");
2.采用ModelAndView方式:
采用这种的时候具体方法的返回值要为ModelAndView。
@RequestMapping(value="/index")
public ModelAndView helloaction3(){
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("s", "这是通过ModelAndView返回页面的数据");
return modelAndView;
}
3.采用Model方式:
@RequestMapping(value="/index")
public String helloaction3(Model model){
model.addAttribute("s", "这是通过Model返回页面的数据");
return "index";
}
4.采用Map的方式:
@RequestMapping(value="/index")
public String helloaction3(Map map){
map.put("s", "这是通过Map返回页面的数据");
return "index";
}
5.采用ModelMap的方式:
@RequestMapping(value="/index")
public String helloaction3(ModelMap modelmap){
modelmap.addAttribute("s", "这是通过ModelMap返回页面的数据");
return "index";
}
如果有多种一起出现,则ModelMap中存储了模型中的所有数据。
为什么控制器方法设置只返回视图信息,但没有返回model信息,可是前台依然接收得到?
因为Spring Web MVC 提供Model、Map或ModelMap让我们能去暴露渲染视图需要的模型数据。即只要加入这个参数,前台便能获取这些暴露的模型数据
本文出自 “11179738” 博客,请务必保留此出处http://11189738.blog.51cto.com/11179738/1745138