SpringMvc-modelAndView

springMvc中modelAndview是非常重要也是非常常用的,它能够同时把模型数据和跳转地址一起封装进ModelAndview

实现原理的简单说明:

1.封装model:在封装成model的过程中,如果我们往modelAndview中添加多个参数时候,其实是把数据都存放在了一个Map中,让后循环Map,把数据从map中取出来在通过setAttribute放入域域对象中,我们在前台通过域对象就能拿到数据

2.跳转地址:跳转地址是通过SpringMVC配置文件中拿到前缀+返回字符串+springMvc中拿到后缀组成,在解析视图的时候把拼装的地址通过转发的方式跳转到对应的页面

 

 //把数据和跳转地址封装进modelAndView   
@RequestMapping(
"/testModelAndView") public ModelAndView testModelAndView(){ String viewName = SUCCESS; ModelAndView modelAndView = new ModelAndView(viewName); //添加模型数据到 ModelAndView 中. modelAndView.addObject("time", new Date()); return modelAndView; }

// 页面通过域对象拿到数据
 time: ${requestScope.time }

3.当我们知道大概原理时候就不在受modelAndvie的限制,我们返回的字符串无非就是拼装的地址,无论我们返回什么字符串都会被组装进modelAndview中,于是我们只需要返回字符串,而模型数据完全可以放入我们自己的map中:

//我们自己的Map封装了我们自己的数据
@RequestMapping("/testMap") public String testMap(Map<String, Object> map){ map.put("name", Arrays.asList("小明","小红","小军")); return SUCCESS; }
//通过域对象取出我们的模型数据
name: ${requestScope.name }

 

转载于:https://www.cnblogs.com/csy666/p/7039294.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值