• SpringMvc处理模型数据(也就是从数据库中查询出来的数据放到请求域中)


    这讲的是从数据库中查询到的数据,存放到请求域中。然后页面上直接可以从请求域中获取值。

    有4种方式:

      1):ModelAndView   是作为一个对象。

     1 /**
     2      * 目标方法的返回值可以是 ModelAndView 类型。 
     3      * 其中可以包含视图和模型信息
     4      * SpringMVC 会把 ModelAndView 的 model 中数据放入到 request 域对象中. 
     5      * @return
     6      */
     7     @RequestMapping("/testModelAndView")
     8     public ModelAndView testModelAndView(){
     9         String viewName = SUCCESS;
    10         ModelAndView modelAndView = new ModelAndView(viewName);
    11         
    12         //添加模型数据到 ModelAndView 中.
    13         modelAndView.addObject("time", new Date());
    14         
    15         return modelAndView;
    16     }

    从页面上获取:

        time: ${requestScope.time }

    2:Model和Map   这两个作为参数给传进去。

    1 @RequestMapping("/testMap")
    2     public String testMap(Map<String, Object> map){
    3         System.out.println(map.getClass().getName()); 
    4         map.put("names", Arrays.asList("Tom", "Jerry", "Mike"));
    5         return SUCCESS;
    6     }

    3:@ModelAttribute

    /**
         * 1. 有 @ModelAttribute 标记的方法, 会在每个目标方法执行之前被 SpringMVC 调用!
         * 2. @ModelAttribute 注解也可以来修饰目标方法 POJO 类型的入参, 其 value 属性值有如下的作用:
         * 1). SpringMVC 会使用 value 属性值在 implicitModel 中查找对应的对象, 若存在则会直接传入到目标方法的入参中.
         * 2). SpringMVC 会一 value 为 key, POJO 类型的对象为 value, 存入到 request 中.
         */
        @ModelAttribute
        public void getUser(@RequestParam(value="id",required=false) Integer id,
                Map<String, Object> map){
            System.out.println("modelAttribute method");
            if(id != null){
                //模拟从数据库中获取对象
                User user = new User(1, "Tom", "123456", "tom@atguigu.com", 12);
                System.out.println("从数据库中获取一个对象: " + user);
                
                map.put("user", user);
            }
        }

  • 相关阅读:
    0920 计算器,公共控件
    0919 认识winform,简单属性
    0914 c#的遍历查询-属性扩展
    0913 完整修改,删除-实体类-数据操作类
    0912 ADO.NET 增删改查
    0911 类库,委托
    0909 多态,抽象类,接口
    0908 封装继承
    0906 面向对象思想,类的介绍
    读《你不知道的JavaScript(上卷)》后感-浅谈JavaScript作用域(一)
  • 原文地址:https://www.cnblogs.com/bulrush/p/8678002.html
Copyright © 2020-2023  润新知