Spring mvc交互层返回类型学习总结

Spring MVC的返回方式:

1ModelAndView

可以设置返回视图名,也可以添加返回参数。

@RequestMapping(value = "/login0")
         public ModelAndView login() {
                   ModelAndView mav = new ModelAndView("index");
                   User user = new User();
                   user.setName("varus");
                   // 向页面传参
                   mav.addObject(user);
                   // 可以在new ModelAndView对象时直接指定返回view名称,或者用set方法实现
                   // mav.setViewName("index");
                   return mav;
         }

2Model

Model实体是一个返回参数的集合。

@RequestMapping(value = "/login3")
         public Model login3(Model mod) {
                   // Model mod = new ExtendedModelMap();
                  User user = new User();
                   user.setName("varus");
                   // 向页面传参
                   mod.addAttribute(user);
                   return mod;
         }

3ModelMap

ModelMap实体是一个返回参数的集合。

@RequestMapping(value = "/login2")
         public ModelMap login2() {
                   ModelMap mp = new ModelMap();
                   User user = new User();
                   user.setName("varus");
                   // 向页面传参
                   mp.addAttribute(user);
                   return mp;
         }

4Map

Map实体是一个返回参数的集合。

@RequestMapping(value = "/login4")
         public Map<String, User> login4() {
                   Map<String, User> mp = new HashMap<String, User>();
                   User user = new User();
                   user.setName("varus");
                   // 向页面传参
                   mp.put("user", user);
                   return mp;
         }

5View

View可以返回参数,并渲染视图返回,需要实现view(大概是把mvc配置文件中那一套自定义实现一遍)。

(代码不会写,欢迎各位大神不吝赐教)

6String

(1)String在普通情况下,会返回视图名;

(2)配合@ResponseBody注解会返回字符串(当然也可以是json数据)。

(3)可以和Model搭配添加返回参数。

@RequestMapping(value = "/login5")
         public String login5(Model mod) {
                   User user = new User();
                   user.setName("varus");
                   // 向页面传参
                   mod.addAttribute(user);
                   return "index";
         }

7void

(1)@RequestMapping注解路径名为视图名。

(2)可以和Model搭配添加返回参数。

@RequestMapping(value = "/login6")
         public void login6(Model mod) {
                   User user = new User();
                   user.setName("varus");
                   // 向页面传参
                   mod.addAttribute(user);
         }

 

可以返回参数的返回类型:ModelAndViewModelModelMap、加@ResponseBody注解的String

可以设置返回视图名的返回类型:ModelAndView、不加@ResponseBody注解String


你可能感兴趣的:(spring,mvc)