• ModelAndView存取数Model、Map、ModelMap


    1、从名字上看ModelAndView中的Model代表模型,View代表视图,这个名字就很好地解释了该类的作用。(对应mvc配置,寻找模型,返回视图。)

    2、业务处理器调用模型层处理完用户请求后,把结果数据存储在该类的model属性中,把要返回的视图信息存储在该类的view属性中,

    3、然后让该ModelAndView返回该Spring MVC框架。框架通过调用配置文件中定义的视图解析器,对该对象进行解析,

    4、最后把结果数据显示在指定的页面上。 

    在DispatcherServlet将请求分发给Spring Controller之前,需要借助于Spring提供的HandlerMapping定位到具体的Controller。HandlerMapping是这样一种对象,它能够完成客户请求到Controller之间的映射。在Struts中,这种映射是通过struts-config.xml文件完成的。其中,Spring为Controller接口提供了若干实现,例如Spring默认使用的BeanNameUrlHandlerMapping。还有,SimpleUrlHandlerMapping,CommonsPathMapHandlerMapping。

    EL表达式取数位置:

       Model、Map、ModelMap以及ModelAndView:初始化由Spring创建以上对象。

     ${msg }=${requestScope.msg }=<%=request.getAttribute("msg")%>

        ${user.getName()}=${requestScope.user.getName()}

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    @RequestMapping("/save.do")
        public ModelAndView save(User user){
            System.out.println("------------------");
            System.out.println("name="+user.getName()+"  age="+user.getAge());
            System.out.println("------------------");
            ModelAndView mv = new ModelAndView("success");
            mv.addObject("msg""添加成功3");
            mv.addObject("user", user);
            return mv;
        }
        //直接在处理方法上声明ModelMap对象 springmvc会将ModelMap中的数据携带到前台
        @RequestMapping("/show.do")
        public ModelAndView show(ModelMap map){
            map.addAttribute("msg""modelMap携带参数");
            return new ModelAndView("success");
        }
        //直接在处理方法上声明ModelMap对象 springmvc会将ModelMap中的数据携带到前台
        @RequestMapping("/show1.do")
        public ModelAndView show1(Model map){
            map.addAttribute("msg""modelMap携带参数1");
            return new ModelAndView("success");
        }
        //直接在处理方法上声明request对象
        @RequestMapping("/show2.do")
        public ModelAndView show2(HttpServletRequest req){
            req.setAttribute("msg""req携带参数");
            return new ModelAndView("success");
        }

     

  • 相关阅读:
    Oracle导入导出命令
    深入理解JSP/Servlet Session会话管理机制
    Weblogic domain密码的重置方法
    RPC关键要点
    Ubuntu如何配置Telnet服务器
    Win7如何解决telnet不是内部或外部命令!
    Linux系统下的文件权限
    虚拟机系统ubuntu安装VMWare Tools
    SQL模糊查询 LIKE
    Ubuntu下安装SSH
  • 原文地址:https://www.cnblogs.com/shuchen007/p/9385021.html
Copyright © 2020-2023  润新知