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);
        }
    }

 

转载于:https://www.cnblogs.com/bulrush/p/8678002.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值