在Spring MVC的Controller中最重要的就是ModelAndView对象。
ModelAndView对象是 模型视图对象。MVC种,Model和View在这个对象都已经存在了。返回后可以告诉前台页面,View就是我需要跳转的页面。Model就是需要携带的参数。
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping("/index.do")
public class IndexController {
@RequestMapping(params = "add")
public ModelAndView add() {
// Map<String, Object> params = new HashMap<String, Object>();
// params.put("sex", "man");
ModelMap params = new ModelMap();
params.addAttribute("sex", "man");
ModelAndView modelAndView = new ModelAndView("success", params);
return modelAndView;
}
}
构造返回的ModelAndView有两种方式。
第一种:返回HashMap,对于多个参数,我们需要构造一个HashMap后,返回。(如果返回只有一个Model,我们可以直接调用ModelAndView的构造方法,而不需要这样做)
第二种:Spring MVC中自带ModelMap对象,内部实现其实还是一个Map,我们可以直接addAttribute属性,构造ModelAndView对象。
注意:如果返回的Model对象有多个,我们可以继续调用 .addObject("XX",XX); 方法去添加模型对象。