第五章:ModelAndView

三种方式实现作用域放值

springMVC处理请求过程中,往作用域中放值有以下三种方式:

总结:根据ModelAndView源码调试,不管用以下哪种方式,都会把Model数据和View数据封装到一个ModelAndView中

 1 package com.iwakan.controller;
 2 
 3 import org.springframework.stereotype.Controller;
 4 import org.springframework.ui.Model;
 5 import org.springframework.web.bind.annotation.RequestMapping;
 6 import org.springframework.web.servlet.ModelAndView;
 7 
 8 import java.util.Map;
 9 
10 /**
11  * 三种方式实现作用域放值
12  */
13 @Controller
14 public class TestController {
15 
16     /**
17      * 第一种:返回值为ModelAndView
18      * @return
19      */
20     @RequestMapping("/hello")
21     public ModelAndView hello(){
22         ModelAndView mav = new ModelAndView();
23         mav.addObject("msg","spring mvc");
24         mav.setViewName("success");
25         return mav;
26     }
27 
28     /**
29      * 第二种:形参为Map
30      * @param map
31      * @return
32      */
33     @RequestMapping("/hello2")
34     public String hello2(Map<String,Object> map){
35         map.put("msg","spring mvc2");
36         return "success";
37     }
38 
39     /**
40      * 第三种:形参为Model
41      * @param model
42      * @return
43      */
44     @RequestMapping("/hello3")
45     public String hello3(Model model){
46         model.addAttribute("msg","spring mvc3");
47         return "success";
48     }
49 }

 

上一篇:SpringBoot中处理的转发与重定向


下一篇:SpringMVC框架如何实现请求转发和重定向呢?