ModelAndView和ModelMap有什么区别?

pnu*_*ter 17 java spring spring-mvc

是否ModelMap只是新的名称在春季3的ModelAndView

功能是否在Spring 3中发生了变化?

在Spring 3应用程序中使用以下代码考虑此代码ModelMap:

 @RequestMapping(value = "/order", method = RequestMethod.GET)
 public final String setup(final ModelMap model)
 {
  model.addAttribute(ORDER, new Order());
  return "setup";
 }
Run Code Online (Sandbox Code Playgroud)

我想知道ModelAndView一个较旧的Spring应用程序中的等效用途是什么?它是否只需要更改名称ModelMapModelAndView使其在Spring 2.5中运行?

ska*_*man 23

ModelAndView顾名思义,它包含模型视图的名称.ModelMap在合同中,仅包含有关模型的信息.

你的例子将被写成(在"旧的"Spring中)

 public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
 {
  return new ModelAndView("setup", ORDER, new Order());
 }
Run Code Online (Sandbox Code Playgroud)


Rob*_*ker 10

@ coder247如果我错了,有人会纠正我,但你不需要返回ModelMap.将属性添加到ModelMap中,只返回一个String视图名称.

这是一篇很好的文章,解释了如何做到这一点以及更多...... http://www.mkyong.com/spring-mvc/spring-mvc-form-handling-annotation-example/