SpringMVC的返回方式:
1、ModelAndView
可以设置返回视图名,也可以添加返回参数。
@RequestMapping(value ="/login0")
publicModelAndView login() {
ModelAndViewmav = new ModelAndView("index");
Useruser = new User();
user.setName("varus");
//向页面传参
mav.addObject(user);
//可以在new ModelAndView对象时直接指定返回view名称,或者用set方法实现
//mav.setViewName("index");
returnmav;
}
2、Model
Model实体是一个返回参数的集合。
@RequestMapping(value ="/login3")
publicModel login3(Model mod) {
//Model mod = new ExtendedModelMap();
User user = new User();
user.setName("varus");
//向页面传参
mod.addAttribute(user);
returnmod;
}
3、ModelMap
ModelMap实体是一个返回参数的集合。
@RequestMapping(value ="/login2")
publicModelMap login2() {
ModelMapmp = new ModelMap();
Useruser = new User();
user.setName("varus");
//向页面传参
mp.addAttribute(user);
returnmp;
}
4、Map
Map实体是一个返回参数的集合。
@RequestMapping(value ="/login4")
publicMap<String, User> login4() {
Map<String,User> mp = new HashMap<String, User>();
Useruser = new User();
user.setName("varus");
//向页面传参
mp.put("user",user);
returnmp;
}
5、View
View可以返回参数,并渲染视图返回,需要实现view(大概是把mvc配置文件中那一套自定义实现一遍)。
(代码不会写,欢迎各位大神不吝赐教)
6、String
(1)String在普通情况下,会返回视图名;
(2)配合@ResponseBody注解会返回字符串(当然也可以是json数据)。
(3)可以和Model搭配添加返回参数。
@RequestMapping(value ="/login5")
publicString login5(Model mod) {
Useruser = new User();
user.setName("varus");
//向页面传参
mod.addAttribute(user);
return"index";
}
7、void
(1)以@RequestMapping注解路径名为视图名。
(2)可以和Model搭配添加返回参数。
@RequestMapping(value ="/login6")
publicvoid login6(Model mod) {
Useruser = new User();
user.setName("varus");
//向页面传参
mod.addAttribute(user);
}
可以返回参数的返回类型:ModelAndView、Model、ModelMap、加@ResponseBody注解的String
可以设置返回视图名的返回类型:ModelAndView、不加@ResponseBody注解String